NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

labview的公式节点中的移位有bug啊!!

比如我写入 如下代码在公式节点中

uInt16 a1=0xABCD, a2 ,a3;

a2=a1>>8;  //右移8位

a3=a1<<8; //左移8位

 

把a2,a3输出显示,其结果是a2为AB,a3为FFFF,可以看到左移是错误的。不知道大家发现没有。

而在c语言中,就没有这个问题。

 

0 项奖励
1 条消息(共 4 条)
5,424 次查看

难道ni自己的员工都没有看到这个吗,可以试试啊,真的有bug啊,怎么回事!

0 项奖励
2 条消息(共 4 条)
5,400 次查看

Use U32 instead.

 

George Zou
0 项奖励
3 条消息(共 4 条)
5,396 次查看

问题是都是16位的数据,而用u32的话,结果当然对了,因为16位以前的数都是0,labview公式节点的移位确实有问题,好多人做crc校验的时候碰到了

0 项奖励
4 条消息(共 4 条)
5,196 次查看