整数字面量是表示整数常量的数字序列。可选前缀设置非十进制基数:二进制为 0b 或 0B,八进制为 0、0o 或 0O,十六进制为 0x 或 0X。单个的 0 被认为是十进制的 0。在十六进制字面量中,字母 a 到 f 和 A 到 F 表示值 10 到 15。
为了可读性,下划线 _ 可以出现在基本前缀之后或连续数字之间,这样的下划线不会改变字面量的值。
整数字面量 = 十进制整数字面量 | 二进制整数字面量 | 八进制整数字面量 | 十六进制整数字面量 .十进制整数字面量 = "0" | ( "1" … "9" ) [ [ "_" ] 十进制数字 ] .二进制整数字面量 = "0" ( "b" | "B" ) [ "_" ] 二进制数字 .八进制整数字面量 = "0" [ "o" | "O" ] [ "_" ] 八进制数字 .十六进制整数字面量 = "0" ( "x" | "X" ) [ "_" ] 十六进制数字 .十进制数字 = 十进制数字 { [ "_" ] 十进制数字 } .二进制数字 = 二进制数字 { [ "_" ] 二进制数字 } .八进制数字 = 八进制数字 { [ "_" ] 八进制数字 } .十六进制数字 = 十六进制数字 { [ "_" ] 十六进制数字 } .
424_206000_6000o6000O600 // 第二个字符是大写字母 O0xBadFace0xBad_Face0x_67_7a_2f_cc_40_c6170141183460469231731687303715884105727170_141183_460469_231731_687303_715884_105727_42 // 一个标识符,而不是整数字面量42_ // 无效:_ 必须以连续数字分隔4__2 // 无效:一次只能有一个 _0_xBadFace // 无效:_ 必须将连续的数字分开
