测量测试 > 测试测量应用 > 详情

labview编程技巧---定点数转换

发布时间:2020-12-29 发布时间:
|
接收到一串PCM数据,如下:
0000 1264 C97C 8937 77C8 3783 EE9B 0000

说明两个字节对应一个点的数据(高低位互换后,如:1264(存储时的样子),实际数值为:6412(16进制),他们对应的10进制浮点数如下:
00.7818314824520.97492791219320.4338837391869-0.4338837390251-0.9749279121533-0.781831482564-1.79586368671E-10

问题:

例如: C877 (16进制) =-0.4338837390251 (10进制) 如何计算?如何判断这是个负数?


如何判断一个16进制数是正,还是负?(下面是16进制数和对应的10进制数)

0000 6412 7CC9 3789
0 0.781831482452 0.9749279121932 0.4338837391869
***************************************************************************************
C877 8337 9BEE 0000
-0.4338837390251 -0.9749279121533 -0.781831482564 -1.79586368671E-10


如何只知道一个2字节的16进制数,判断出这是个的正负?(知道它对应的带符号的浮点数?如:
知道" C877(16进制) ",如何判断出这是个的正负?得到 " -0.4338837390251 "?

****************************************************************************************************************************************

分析:
IEEE标准规定,双精度浮点数为8个字节,单精度浮点数是4个字节,所以两个字节长度肯定不是浮点数,LABVIEW中的浮点数数据类型是完全符合IEEE标准的。上述问题实际是定点数而不是浮点数。

定点数小数点的位置和位数可以通过对话框配置,针对上述问题,配置如下:




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
炬光科技发布高亮度 10W808nm单管半导体激光器