整数用于编写类型 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
类型。
点击加载更多评论>>