labview的数据类型----BOOLEAN AND BOOLEAN ARRAY
扫描二维码
随时随地手机看文章
要想真正了解一门编程语言,研究它的数据类型和在内存中的表现形式是非常重要的.
C语言中是没有专门的布尔型数据类型的.看过速查表之类型对照表的朋友可能知道,C语言有啊,不但有而且是两种
BOOLEAN 和BOOL,其实它们都是C基本的数据类型的再定义,不是专门的数据类型.看看它们的定义:
typedef int BOOL;
typedef unsigned char BOOLEAN;
它们的区别就是所占字节不同.BOOL是四个字节(32位),而BOOLEAN是一个字节(8位)
他们的含义是值为0时,表示假FALSE,非0是为真.既然只是个0或者1的问题,为什么不用一个字节中的一位表示那,那样一个字节就可以代表8个布尔量.熟悉C51的朋友肯定知道,单片机编程的确是用位来表示BOOLEAN的,那是因为单片机的RAM非常小,是最宝贵的资源.而对于计算机来说,它的数据在内存中为了方便,是采用对齐的方式.
那么LABVIEW有一种数据类型BOOLEAN,而且有多种表现形式,它是一个字节还是多个字节那.
答案是一个字节.0表示FALSE,非0表示TRUE
既然是1个字节,LV的U8也是一个字节,STRING的一个字符也是一个字节,那他们应该可以相互转换了,的确是这样.
BOOLEAN转换成U8和一个单字符都是正确的,下面有U8 和CHAR转换成BOOLEAN看一下.
可以得出结论,LABVIEW的BOOLEAN,STRING(单字节)和U8都是一个字节,他们是可以直接转换的
根据上面的分析,那么一个BOOLEAN数组应该对应一个U8数组和一个固定长度的字符串,是否如此,看一下测试