接收到一串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规范的。上述问题实践是定点数而不是浮点数。
定点数小数点的方位和位数能够经过对话框装备,针对上述问题,装备如下: