微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > labview编程技巧-----如何处理数据的位

labview编程技巧-----如何处理数据的位

时间:01-09 来源:互联网 点击:
位操作是自动化控制中经常遇到的问题,最近看到论坛上有人提到字节高四位和低四位提取的问题,今天仔细探讨一下位的操作.

位不等于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数组的操作实现,不过位本身操作速度应该更快一些。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top