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