整數用於編寫類型 int
、uint
、long
和 ulong
的值。整數具有兩種可能的形式:十進制和十六進制。
- integer-literal:(整數:)
- decimal-integer-literal(十進制整數)
hexadecimal-integer-literal(十六進制整數)
- decimal-integer-literal:(十進制整數:)
- decimal-digits integer-type-suffixopt(十進制數字 整數類型後綴可選)
- decimal-digits:(十進制數字:)
- decimal-digit(十進制數字)
decimal-digits decimal-digit(十進制數字 十進制數字)
- decimal-digit: one of(十進制數字:下列之一)
- 0 1 2 3 4 5 6 7 8 9
- integer-type-suffix: one of(整數類型後綴:下列之一)
- U u L l UL Ul uL ul LU Lu lU lu
- hexadecimal-integer-literal:(十六進制整數:)
- 0x hex-digits integer-type-suffixopt(0x 十六進制數字 整型後綴可選)
0X hex-digits integer-type-suffixopt(0X 十六進制數字 整型後綴可選)
- hex-digits:(十六進制數字:)
- hex-digit(十六進制數字)
hex-digits hex-digit(十六進制數字 十六進制數字)
- hex-digit: one of(十六進制數字:下列之一)
- 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f
一個整數的類型按下面這樣確定:
- 如果該整數沒帶後綴,則它屬於以下所列的類型中第一個能夠表示其值的那個類型:
int
、uint
、long
、ulong
。
- 如果該整數帶有後綴
U
或 u
,則它屬於以下所列的類型中第一個能夠表示其值的那個類型:uint
、ulong
。
- 如果該整數帶有後綴
L
或 l
,則它屬於以下所列的類型中第一個能夠表示其值的那個類型:long
、ulong
。
- 如果該整數帶有後綴
UL
、Ul
、uL
、ul
、LU
、Lu
、lU
或 lu
,則它屬於 ulong
類型。
如果整數表示的值超出了 ulong
類型的范圍,則將發生編譯時錯誤。
作為書寫的風格(樣式),建議在書寫類型 long 的文本時使用“L”而不是“l”,因為字母“l”容易與數字“1”混淆。
為允許盡可能小的 int
和 long
值寫為十進制整數,有下面兩個規則:
- 當具有值 2147483648 (231) 且沒有“整型後綴”的一個十進制整數作為標記緊接在一元負運算符標記(第 7.6.2 節)後出現時,結果為具有值 −2147483648 (−231) 的
int
類型常數。在所有其他情況下,這樣的十進制整數屬於 uint
類型。
- 當具有值 9223372036854775808 (263) 的一個十進制整數(沒帶整型後綴,或帶有整型後綴
L
或 l
)作為一個標記緊跟在一個一元負運算符標記(第 7.6.2 節)後出現時,結果是具有值 −9223372036854775808 (−263) 的 long
類型的常數。在所有其他情況下,這樣的十進制整數屬於 ulong
類型。