整数文字
整数文字用于提供整数值。支持三个数字基础,由前缀表示:
基础 | 字首 | 例 |
---|---|---|
十进制 | none |
5 |
八进制 | 0 |
0345 |
十六进制 | 0x 或 0X |
0x12AB ,0X12AB ,0x12ab ,0x12Ab |
请注意,此写作不包含任何符号,因此整数文字始终为正。像 -1
这样的东西被视为一个表达式,它有一个整数字面值(1
),用 -
否定
十进制整数文字的类型是第一个可以适合 int
和 long
的值的数据类型。从 C99 开始,long long
也支持非常大的文字。
八进制或十六进制整数文字的类型是第一个可以适合 int
,unsigned
,long
和 unsigned long
的值的数据类型。自 C99 以来,long long
和 unsigned long long
也支持非常大的文字。
使用各种后缀,可以更改文字的默认类型。
后缀 | 说明 |
---|---|
L ,l |
long int |
LL ,ll (自 C99 起) |
long long int |
U ,u |
unsigned |
U 和 L / LL 后缀可以按任何顺序和大小写组合。复制后缀(例如,提供两个 U
后缀)即使它们具有不同的情况也是错误的。