labview的數(shù)據(jù)類型----BOOLEAN AND BOOLEAN ARRAY
要想真正了解一門編程語言,研究它的數(shù)據(jù)類型和在內存中的表現(xiàn)形式是非常重要的.
C語言中是沒有專門的布爾型數(shù)據(jù)類型的.看過速查表之類型對照表的朋友可能知道,C語言有啊,不但有而且是兩種
BOOLEAN 和BOOL,其實它們都是C基本的數(shù)據(jù)類型的再定義,不是專門的數(shù)據(jù)類型.看看它們的定義:
typedef int BOOL;
typedef unsigned char BOOLEAN;
它們的區(qū)別就是所占字節(jié)不同.BOOL是四個字節(jié)(32位),而BOOLEAN是一個字節(jié)(8位)
他們的含義是值為0時,表示假FALSE,非0是為真.既然只是個0或者1的問題,為什么不用一個字節(jié)中的一位表示那,那樣一個字節(jié)就可以代表8個布爾量.熟悉C51的朋友肯定知道,單片機編程的確是用位來表示BOOLEAN的,那是因為單片機的RAM非常小,是最寶貴的資源.而對于計算機來說,它的數(shù)據(jù)在內存中為了方便,是采用對齊的方式.
那么LABVIEW有一種數(shù)據(jù)類型BOOLEAN,而且有多種表現(xiàn)形式,它是一個字節(jié)還是多個字節(jié)那.
答案是一個字節(jié).0表示FALSE,非0表示TRUE
既然是1個字節(jié),LV的U8也是一個字節(jié),STRING的一個字符也是一個字節(jié),那他們應該可以相互轉換了,的確是這樣.
BOOLEAN轉換成U8和一個單字符都是正確的,下面有U8 和CHAR轉換成BOOLEAN看一下.
可以得出結論,LABVIEW的BOOLEAN,STRING(單字節(jié))和U8都是一個字節(jié),他們是可以直接轉換的
根據(jù)上面的分析,那么一個BOOLEAN數(shù)組應該對應一個U8數(shù)組和一個固定長度的字符串,是否如此,看一下測試