顧名思義,整數類型的變量的值為整數。數學上的整數可以從負無窮大到正無窮大,但是由於計算機的存儲單元是有限的,所以計算機語言提供了整數類型的值總是在一定范圍之內。C#中有九種整數類型:短字節型(sbyte)、字節型(byte)、短整型(short)、無符號短整型(ushort)、整型(int)、無符號整型(uint)、長整型(long)、無符號長整型(ulong)。劃分的依據是根據該類型的變量在內存中所占的位數。位數的概念是按照2的指數冪來定義的,比如說8位整數,則它可以表示2的8次方個數值,即256。這和我們在Windows系統中顯示屬性是一樣的,比如16位真彩色,表示一共可以顯示2的16次方即65536種顏色。
這些整數類型在數學上的表示以及在計算機中的取值范圍如表4-1中所示:
表4-1 整數類型
數據類型 特征 取值范圍 sbyte 有符號 8位整數 在-128到127之間 byte 無符號8位整數 在0到255之間 short 有符號16位整數 在-32768到32767之間 ushort 無符號16位整數 在0到65535之間 int 有符號32位整數 在-2147483648到2147483647之間 uint 無符號32位整數 0到4294967295之間 long 有符號64位整數 在-9223372036854775808到9223372036854775807之間 ulong 無符號64位整數 0和18446744073709551615之間 程序清單4-1: using System; class Test { public static void Main(){ short x=32766; x++; Console.WriteLine(x); x++; Console.WriteLine(x); } }
程序的輸出為:
32767
-32768
上面的例子說明對於short類型的整數x已經超出了系統定義的范圍(從-32768到32767之間)。