C# 語言規范--2.4.4.2 整數
發表于:2007-07-14來源:作者:點擊數:
標簽:
C# 語言規范--2.4.4.2 整數: 整數用于編寫類型 int 、 uint 、 long 和 ulong 的值。整數具有兩種可能的形式:十進制和十六進制。 integer-literal: (整數:) decimal-integer-literal (十進制整數) hexadecimal-integer-literal (十六進制整數) deci
C# 語言規范--2.4.4.2 整數:
整數用于編寫類型 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
類型。
原文轉自:http://www.kjueaiud.com