看了一下《西门子S7可编程控制器—STEP7 编程指南》看到一个浮点数有点不懂就查了一下资料

已锁定

时空1

  • 帖子

    505
  • 精华

    1
  • 被关注

    233

论坛等级:奇侠

注册时间:2010-05-28

普通 普通 如何晋级?

看了一下《西门子S7可编程控制器—STEP7 编程指南》看到一个浮点数有点不懂就查了一下资料

1093

2

2012-03-16 08:59:44

12.25=(1+m)*2^(e-127)
e=2^7+2^1
m=2^(-5)+2^(-1)
看不懂啊,就在网上找了一下资料,如下:

将浮点格式转换成十进制数
  [例3.1]:
  0x00280000(real*4)
  转换成二进制
  00000000001010000000000000000000
  符号位 指数部分(8位) 尾数部分
  0 00000000 01010000000000000000000
  符号位=0;因指数部分=0,则:尾数部分M为m:
  0.01010000000000000000000=0.3125
  该浮点数的十进制为:
  (-1)^0*2^(-126)*0.3125
  =3.6734198463196484624023016788195e-39
  [例3.2]:
  0xC04E000000000000(real*8)
  转换成二进制
  1100000001001110000000000000000000000000000000000000000000000000
  符号位 指数部分(11位) 尾数部分
  1 10000000100 1110000000000000000000000000000000000000000000000000
  符号位=1;指数=1028,因指数部分不为全0且不为全1,则:尾数部分M为1+m:
  1.1110000000000000000000000000000000000000000000000000=1.875
  该浮点数的十进制为:
  (-1)^1*2^(1028-1023)*1.875
  =-60
  
将十进制数转换成浮点格式(real*4)
  [例4.1]:
  26.0
  十进制26.0转换成二进制
  11010.0
  规格化二进制数
  1.10100*2^4
  计算指数
  4+127=131
  符号位 指数部分 尾数部分
  0 10000011 10100000000000000000000
  以单精度(real*4)浮点格式存储该数
  0100 0001 1101 0000 0000 0000 0000 0000
  0x41D0 0000
  [例4.2]:
  0.75
  十进制0.75转换成二进制
  0.11
  规格化二进制数
  1.1*2^-1
  计算指数
  -1+127=126
  符号位 指数部分 尾数部分
  0 01111110 10000000000000000000000
  以单精度(real*4)浮点格式存储该数
  0011 1111 0100 0000 0000 0000 0000 0000
  0x3F40 0000
  [例4.3]:
  -2.5
  十进制-2.5转换成二进制
  -10.1
  规格化二进制数
  -1.01*2^1
  计算指数
  1+127=128
  符号位 指数部分 尾数部分
  1 10000000 01000000000000000000000
  以单精度(real*4)浮点格式存储该数
  1100 0000 0010 0000 0000 0000 0000 0000
  0xC020 0000
---------------------------------------------------------------------------------
虽然基本明白了,但是还是不是十分透彻,有哪位仁兄补充一下吗!?
看了一下《西门子S7可编程控制器—STEP7 编程指南》看到一个浮点数有点不懂就查了一下资料 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54699条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。