共找到2條詞條名為整數的結果 展開
- 數學名詞
- 編程術語
整數
編程術語
integer,整數 / 整型數,與小數 / 浮點數相對,是編程語言的基本數據類型之一,用以指示變數的數據類型,有時也用於常量(變數、表達式)的強制數據類型轉換。整型數據的長度及其取值範圍並不固定,受編譯環境影響。在不同的編程語言中做此類型聲明時,具體實現方式也可能會有所區別。
Integer 數據類型
Integer 一個整型數據用來存儲整數,整數包括正整數,負整數和零。
整型常量採用十進位整數表示。如 1991,0,-123等等都是整型常量。而52.0或131.4都不是整型常量。
Integer 變數存儲為最接近編譯環境的長度,例如在32位的編譯環境下,Integer為32位,其範圍為 -2^15 到 2^15-1 之間。
VB中Integer 的類型聲明字元是百分比符號 (%)。Pascal中就是integer。在C語言中被縮寫成為int。
Pascal中有一個標準標識符maxint,它代表Pascal系統中整型類數據的最大值。1位元組(byte)由8個二進位位(bit)組成。一個整型數用2個位元組存儲,最大的整型數是2^15-1,即是32767,最小值為-2^15,即-32768。大多數整數是有序類型。
Pascal支持八種整型,詳見下表:
類型 | 數值範圍 | 佔位元組數 | 格式 |
shortint | -128(-2^7) ~ 127(2^7-1) | 1 | 帶符號8位 |
byte | 0 ~ 255(2^8-1) | 1 | 無符號8位 |
smallint | -32768(-2^15) ~ 32767(2^15-1) | 2 | 帶符號16位 |
word | 0 ~ 65535(2^16-1) | 2 | 無符號16位 |
integer | smallint或longint | 2或4 | 帶符號16/32位 |
cardinal | longword | 4 | 無符號32位 |
longint | -2147483648(-2^31) ~ 2147483647(2^31-1) | 4 | 帶符號32位 |
longword | 0 ~ 4294967295(2^32-1) | 4 | 無符號32位 |
int64 | -9223372036854775808(-2^63) ~ 9223372036854775807(2^63-1) | 8 | 帶符號64位 |
qword | 0 ~ 18446744073709551615(2^64-1) | 8 | 無符號64位 |
注意int64和qword不是真正的有序類型,一些Pascal結構不支持這兩種類型(如位運算)。
在默認的Pascal模式里integer類型映射到smallint類型,在Delphi或ObjFPC模式integer類型映射到longint類型。Cardinal類型和dword類型總是映射到longword類型。
目前32位的CPU提供的標準整型是32位,所以用longint的速度比integer的速度快。
VB中也可以用 Integer 變數來表示枚舉值。枚舉值可包含一個有限集合,該集合包含的元素都是唯一的整數,每一個整數都在它使用時的上下文當中有其特殊意義。枚舉值為在已知數量的選項中做出選擇提供了一種方便的方法,例如,black = 0,white = 1 等等。較好的編程作法是使用Const 語句將每個枚舉值定義成常數。
在 Microsoft Visual Basic 6 中,可用 CInt 函數將其他數字數據類型轉換成整數型,如 i = CInt("10")
integer用於保存整數。如果知道變數總是存放整數,則應該將其申明為Interger類型或Long 類型。整數的運算速度快,而且佔用的內存少。
32位操作系統中,C語言中的int類型變數佔用4位元組內存(即32位二進位數),可以表示-2^31~2^31-1(-2147483648~2147483647)之間的整數。與int有關的數據類型還有short和long,三者都是表示整形數字的數據類型。在32位機器上,short佔用2位元組,可以表示-2^15~2^15-1(-32768~32767)之間的整數;long類型與int類型相同,同樣佔用4位元組,表示數字的範圍也相同。
另外,c語言中還有一種數據類型unsigned int,是無符號整型,可以表示0~2^32-1之間的整數。
Integer 類在對象中包裝了一個基本類型 int 的值。Integer 類型的對象包含一個 int 類型的欄位。
此外,該類提供了多個方法,能在int類型和 String類型之間互相轉換,還提供了處理 int 類型時非常有用的其他一些常量和方法。
實現注意事項:“bit twiddling”方法(如 highestOneBit 和 numberOfTrailingZeros)的實現基於 Henry S. Warren, Jr.撰寫的《Hacker's Delight》(Addison Wesley, 2002)中的一些有關材料。