IEEE二进制浮点数算术标准(IEEE 754)是20世纪80年代以来最广泛使用的浮点数运算标准,为许多CPU与浮点运算器所采用。这个标准定义了表示浮点数的格式(包括负零-0)与反常值(denormal number)),一些特殊数值(无穷(Inf)与非数值(NaN)),以及这些数值的“浮点数运算符”

一、名词解释

二、IEEE754标准

三、IEEE754标准-规约形式的浮点数

由于浮点数分为规约形式的浮点数、非规约形式的浮点数、零和特殊值。我们先不考虑非规约形式的浮点数和零和特殊值,只考虑规约形式的浮点数,下面讲的是规约形式的单精度浮点数(最常用的)。

在维基百科中,对浮点数的表示方法为:

Value(值) = sign(符号位)× exponent(阶码)×fraction(分数值/小数)

对应下面这张图片。

sign这个就是符号位,0代表正,1代表负。

01111100(二进制阶码) = 124(10进制阶码)。

算出实际的指数是124(阶码)-127(偏移量)= -3 (真实的指数)。

如果n是正,那么小数点向右移动n位,如果n为负,那么小数点向左移动n位。

图片的fraction部分省略了1,整合起来就是:1.01000000000000000000000。

根据指数n来移动小数点,因此上面算式的结果等价于:

0.00101000000000000000000000 = 0.00101。

注意!这是二进制,我们把0.00101转成10进制为:0.15625。


在PLC中的应用

IEEE754 32位浮点数格式,其结构如下

S-尾数的符号;1=负数,0 = 正数;
E-指数;与十进制数127的差值表示。
M-尾数;低23位,小数部分。
当E不全”0“时,且不全”1“时浮点数与十进制数转换公式:

转换例程:
浮点数

S=1: 尾数符号为1表示是负数。
E = 10001000: 指数为 136
M= 001 1100 0110 0000 0000 0000,尾数为

= -1 * 2^9 * 1.2216796875
= -1 * 512 * 1.2216796875
= -625.5

IEEE754数据转换详解相关推荐

  1. 2.3 《计算机组成原理》之浮点数的表示(基本格式、规格化[左规右规]、表示范围、IEEE754标准详解)

    文章目录 0.思维导图 1.基本格式 2.规格化 3.表示范围 4.IEEE754标准 0.思维导图 1.基本格式 举个例子: 2.规格化 3.表示范围 运算结果大于最大正数时称为正上溢,小于绝对值最 ...

  2. 浮点数修约的法则c语言,IEEE754浮点表示法详解

    前言 IEEE754是IEEE二进制浮点算术标准.这个标准定义了表示浮点数的常规值与非规格化值(denormal number),一些特殊值(infinity)和非数值(NaN), 以及这些数值的浮点 ...

  3. 浮点数与字节数据转换详解

    本文参考网络上的诸多文章,首先分析了单精度浮点数是如何在机器中存储的,然后将浮点数转换为内存中显示的字节数据,进而又将字节数据转换为单精度浮点数.主要用于对数据存储的分析和字节流转换为有效数据方面. ...

  4. c语言long型数据转换,详解C语言的类型转换

    1.自动类型转换 •字符型变量的值实质上是一个8位的整数值,因此取值范围一般是-128-127,char型变量也可以加修饰符unsigned,则unsigned char 型变量的取值范围是0-255 ...

  5. python数值转换机_用于ETL的Python数据转换工具详解

    ETL的考虑 做 数据仓库系统,ETL是关键的一环.说大了,ETL是数据整合解决方案,说小了,就是倒数据的工具.回忆一下工作这么些年来,处理数据迁移.转换的工作倒 还真的不少.但是那些工作基本上是一次 ...

  6. IEEE754浮点数格式详解

    IEEE754浮点数格式详解 几乎所有计算机都支持二进制数据表示,即能直接识别二进制数据表示并具有相应的指令系统.通常采用的二进制定点数据表示主要有:符号数值.反码.补码以及带偏移增值码四种形式,其中 ...

  7. java 变量与常量_详解Java变量与常量

    一.常量 用final修饰(也称最终变量) 常量在声明时必须赋初值,赋值后不能再修改值 常量名通常用全大写字母表示 声明时需要添加final或static final类型修饰符,例如: private ...

  8. java构造和解析json_Java构造和解析Json数据的两种方法详解一

    在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Jso ...

  9. RxJava操作符在android中的使用场景详解(一)

    转载请注明出处:http://www.wangxinarhat.com/2016/04/19/2016-04-19-rxjava-android-operate1/ 最近学习了RxJava在andro ...

最新文章

  1. [YTU]_2759( 字符串---统计元音)
  2. text段,data段,bss段,堆和栈
  3. mybatis-启动源码分析
  4. 在传统Spring应用中使用spring-boot-actuator模块提供监控端点
  5. Java-重载和重写的区别
  6. ROBOTS.TXT在SEO优化中的运用(ROBOTS.TXT SEO优化实战)
  7. 如何下载STM32某型号MCU的数据手册(datasheet)
  8. FPGA 优秀学习代码
  9. Postman的tests断言
  10. 简单的微信使用技巧,你需要掌握的技巧
  11. 时域信号的频谱、功率谱和功率谱密度计算
  12. 在线ER模型设计工具,支持MySQL、SQLServer、Oracle、Postgresql sql导入,支持表、视图等编辑
  13. iPhone更换电池是原装还是第三方?先别着急决定,看完文章再给答案
  14. 2019.7.13--jzDay9
  15. 蓝桥杯---历届真题 题解
  16. 行人重识别(1)——行人检测综述
  17. 失物招领网站html源码,基于web的失物招领系统(完整源码+论文全套+教学视频)...
  18. SQL Server 几种去重总结
  19. Python 实现给女朋友的每日微信消息提醒!做一个贴心的程序员!!!
  20. 算法岗面经总结(星环科技)

热门文章

  1. 手把手教你写一个Matlab App(二)
  2. mac vim IDE插件安装
  3. 树脂基复合材料的增强材料有哪些?
  4. 360笔试2020真题 序列重组
  5. 顺序表中删除最小值元素
  6. vs2012 map cod文件崩溃信息
  7. 第十七章----面向对象(宠物乱斗之主后台篇)
  8. 苹果电脑安装XP无声音问题的解决
  9. android快速集成微信分享支付
  10. 在WPS的Word中添加表格或复制别的文章过来的表格,表格下方不能打字