当前位置:首页 > 测试测量 > 测试测量
[导读]要想真正了解一门编程语言,研究它的数据类型和在内存中的表现形式是非常重要的.C语言中是没有专门的布尔型数据类型的.看过速查表之类型对照表的朋友可能知道,C语言有啊,不但有而且是两种BOOLEAN 和BOOL,其实它

要想真正了解一门编程语言,研究它的数据类型和在内存中的表现形式是非常重要的.

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数组和一个固定长度的字符串,是否如此,看一下测试



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭