现场的仪表,比如积算仪、巡检仪、无线钢水测温仪、无线称重校验仪,送出来的数据,有的是定点数,有的浮点数。作为PLC或二次仪表、显示大屏幕,都需要查询它们的瞬时值并显示出来。
以二次数显表为例,接收的它们的数据后,需要转换成BCD数进行显示。定点数的接收与转换比较简单,浮点数由于是由阶码确定小数点的位置,所以在转换过程中,稍微的增加了点难度。
浮点数共4字节,32位
例如124.75,浮点数为42F98000H | |||||||
4 | 2 | F | 9 | 8 | 0 | 0 | 0 |
0100 | 0010 | 1111 | 1001 | 1000 | 0000 | 0000 | 0000 |
字节3 | 字节2 | 字节1 | 字节0 | ||||
|
|
|
|
|
|
|
|
字节3的第7位表示符号,1表示负数,0表示正数
4个字节都左移一位
例如124.75,浮点数为42F98000H | |||||||
4 | 2 | F | 9 | 8 | 0 | 0 | 0 |
0100 | 0010 | 1111 | 1001 | 1000 | 0000 | 0000 | 0000 |
字节3 | 字节2 | 字节1 | 字节0 | ||||
1000 | 0101 | 1111 | 0011 | 0000 | 0000 | 0000 | 000X |
移位后此字节为阶码 | 这些是尾数 | ||||||
阶码-127=小数点移动的位数,85H=133,133-127=+6,正数表示小数点右移,负数表示小数点左移。
尾数前面隐藏了一个1. 补齐后如下
字节3 | 字节2 | 字节1 | 字节0 | ||||
| 1. | 1111 | 0011 | 0000 | 0000 | 0000 | 000X |
注意小数点 |
|
|
|
|
|
| |
小数点右移6位后如下
字节3 | 字节2 | 字节1 | 字节0 | ||||
| 1 | 1111 | 00.11 | 0000 | 0000 | 0000 | 000X |
|
|
|
|
|
|
| |
现在把四个字节都左移,使得整数字节和小数字节分开,如下
字节3 | 字节2 | 字节1 | 字节0 | ||||
111 | 1100 | 1100 | 0000 | 0000 | 0000 | 0XXX |
|
整数字节 | 小数字节 | ||||||
整数转换为十进制,7CH=124
小数字节高位定义为第1位,以后为2 3 4 5 6.。。。。。。第1位=2^(-1),第2位=2^(-2),第3位=2^(-2),第n位=2^(-n)
版权与免责声明:凡本网注明“来源:全球制造网”的所有作品,均为浙江兴旺宝明通网络有限公司-全球制造网合法拥有版权或有权使用的作品,未经本网授权不得转载、摘编或利用其它方式使用上述作品。已经本网授权使用作品的,应在授权范围内使用,并注明“来源:全球制造网”。违反上述声明者,本网将追究其相关法律责任。 本网转载并注明自其它来源(非全球制造网)的作品,目的在于传递更多信息,并不代表本网赞同其观点或和对其真实性负责,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品第一来源,并自负版权等法律责任。 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
展开全部