LabVIEW论坛
直播中

ironflag

9年用户 102经验值
擅长:可编程逻辑 模拟技术 测量仪表 制造/封装
私信 关注

原创:labview 读取补码表示的有符号16位数时,如何解析成负数

二进制表示的,负值用二进制表示时,是以补码的形式表示。

(正数的补码是其本身,负数的补码是符号位不变,其他位取反再加1)

2、读取到用补码表示的负值后,显示在PC屏幕上的数字是一个正数(例如32位数值:4 294 964 157)将其转为位二进制数,先减去1,再将除符号位外的位数取反,得到的二进制数即为读取到的负数的原码,4 294 967 296

3、将二进制原码,利用8421转换为十进制数,乘上 -1即为十进制的负数

data_int32==4 294 964 157

labview中解析方法:

if data_int32>2,147,483,647

4 294 967 296 -4 294 964 157 =3139

解析结果=3139 *(-1)=-3139

else

解析结果=data_int32
image.png

更多回帖

发帖
×
20
完善资料,
赚取积分