labview之如何獲取數(shù)據(jù)類型的取值范圍
Labview支持的數(shù)據(jù)類型種類繁多,其中整型數(shù)是種類最多的,包括U8、I8、U16、I32等等。
對于每一種特定的整型數(shù),都對應(yīng)這特定的取值范圍,比如U8的最大值為255,最小值為0,所以U8的取值范圍是0-255。
今天我們要討論的是如何獲取整數(shù)數(shù)據(jù)類型的取值范圍的方法:
一、計(jì)算法
我們知道U8是由一個(gè)字節(jié)(8位)構(gòu)成的,U16是由2個(gè)字節(jié)(16位)構(gòu)成的,以此類推,U64由8個(gè)字節(jié)構(gòu)成(64位)。因此對于整型無符號數(shù)的取值范圍很容易計(jì)算出來,無符號整數(shù)的最小值均為0,最大值可以通過計(jì)算得到。
對于有符號數(shù),因?yàn)橛蟹枖?shù)的最高位表示數(shù)值的符號,所以對于N位整型數(shù),它能表示的最大正數(shù)為2的N-1次方,比如I8能表示的最大正數(shù)為2的7次方減1,即127,它能表示的最小負(fù)數(shù)為--127-1=-128,所以I8的取值范圍是-128到+127.由此可以得出有符號整型數(shù)的取值范圍的計(jì)算方法。
二、16進(jìn)制表示法
在整數(shù)的16進(jìn)制表示方式下,無符號整數(shù)的最大值一目了然,非常清晰。對于U8整數(shù),最大值為FF,對于U16整數(shù),最大值為FFFF.
對于有符號數(shù),取值范圍見下圖
三、利用正無窮和負(fù)無窮進(jìn)行類型轉(zhuǎn)換
利用計(jì)算法非常繁瑣,利用HEX方式必須理解整數(shù)的結(jié)構(gòu),下面的方法是我要介紹的Nugget.我們知道LV提供了正無窮大和負(fù)無窮大兩個(gè)常數(shù),利用這兩個(gè)常數(shù),通過類型轉(zhuǎn)化函數(shù),就可以獲取整數(shù)的取值范圍。