邹三木
级别: 探索解密
精华主题: 0
发帖数量: 43 个
工控威望: 180 点
下载积分: 763 分
在线时间: 24(小时)
注册时间: 2012-11-30
最后登录: 2022-04-08
查看邹三木的 主题 / 回贴
楼主  发表于: 2013-01-06 21:22
各位大侠们:
     大家好,请教大家
二进制的小数点转十进制:(101.11)B=(5.75)D是怎么算来的?
八进制的小数点转十进制:(12.4)O=(10.5)D是怎么算来的,?
十六进制的小数点转十进制:(2A.7F)H=(42.4960937)D又是怎么算来的?
如果以上几个数值均用32进制表示,是否都占用了2个十六进制的字元件?那正负符号和小数点符号在哪些位置?
是不是所有PLC都是遵循以上规则?
在实际PLC的字元件应用和数制转换中,我们应该注意到哪些方面的问题??
望大家讨论赐教,谢谢
[ 此帖被邹三木在2013-01-06 21:37重新编辑 ]
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6770 个
工控威望: 38371 点
下载积分: 3422 分
在线时间: 9518(小时)
注册时间: 2006-09-13
最后登录: 2024-11-30
查看cvlsam的 主题 / 回贴
1楼  发表于: 2013-01-08 20:56
小数点左面乘,右面除~

二进制的小数点转十进制:(101.11)B=(5.75)D是怎么算来的?
1乘以2的2次方+0乘以2的1次方+1乘以2的0次方,因此小数点左面就是5.
1除以2的1次方+1除以2的2次方=0.5+0.25=0.75,因此小数点右面就是0.75,合并就是5.75

八进制的小数点转十进制:(12.4)O=(10.5)D是怎么算来的,?
同理,只是基数不是2而是8.
1乘以8的1次方+2乘以8的0次方,小数点左面就是10.
4除以8的1次方,小数点右面就是0.5,合并就是10.5.

十六进制的小数点转十进制:(2A.7F)H=(42.4960937)D又是怎么算来的?
2乘以16的1次方+A乘以16的0次方,小数点左面就是42.
7除以16的1次方+F除以16的2次方=0.4375+0.05859375=0.49609375

但是在PLC中虽然是使用了32位来存储一个浮点数,但是却并使用IEEE754存储格式。




至于如何去将IEEE754转换为我们看得懂的Real,我想您还是没有必要去弄明白,毕竟这需要一些数学基础的。

Regards
本帖最近评分记录:
  • 下载积分:+1(邹三木) 感谢!
  • 下载积分:+5(hahahaha) 热心助人!
  • 下载积分:+5(loio) 热心助人!
  • 下载积分:+5(guochunyi) 热心助人!
  • 下载积分:+5(雪花飘飘) 感谢!