labview编程技巧-----如何处理数据的位
位不等于LABVIEW中的布尔量BOOLEAN占一个字节,和U8 I8相同,在内存中都是一个字节.
而一个字节是由8个位组成的,所以一个字节可以表示8个开关量.
最简单地操作是BOOLEAN 转换成I16,LV本身提供,FALSE---->0,TRUE---->1
数字转换成BOOLEAN,LV没提供,实际用!=0判断就可以了,非0既为真

因为BOOLEAN和I8 U8同占一个字节,因此转换也可以直接用CAST函数实现

因为LABVIEW提供了NUM-->BOOLEAN ARRAY和BOOLEAN ARRAY--->NUM的转换,所以很容易通过BOOLEAN数组替换实现对数的位的置位复位操作.NUM的类型可以是I8、I16、I32和I64

取出一个字节的高四位和低四位,可以通过计算和移位两种方式实现,C语言一般用移位的方式实现,速度比较快,而BASIC语言是通过计算实现的。
对于移位,在LV里有三种方法,1,直接用移位VI,2、利用公式节点 3、MATHSCRIPT提供了位操作函数。
下面演示一下几种方法:

对于某一位置1可以通过NUM OR 0X08 实现(BIT3,从0开始),置0可以用NUM AND !0X08实现,当然也可以通过上面的BOOLEAN数组的操作实现,不过位本身操作速度应该更快一些。
评论