0 // 0 のみの値。 12321 // 10進数定数 12_321 // 3 桁で書式整理。12321 に等しい 1_2345 // 4 桁で書式整理。12345 に等しい。
0 // これは10進数 037 // 31 に等しい。 0_3 // 03 に等しい。 051_272 // 051272 を3桁で書式整理。
0 // これは10進数 0x // エラー。0x には必ず一つ以上の16進数が続かなくてはならない。 0x5b // 91 に等しい。 0X5B // 上に同じ 0x5B // 上に同じ 0X5b // 上に同じ 0x_3 // 0x3 と等しい。 0x_ // エラー。数値が存在しない。 0x_FF_8B // 0xFF8B を2桁で書式整理。 0x_FF_8B_52_16 // 0xFF8B5216 と同じ。
| 定数 | ||
|---|---|---|
|
:= 数値定数 | 文字列定数 ; | ||
| 数値定数 | ||
|
:= 整数定数 | 浮動小数点定数 ; | ||
| 整数定数 | ||
|
:= 10進数定数 | 8進数定数 | 16進数定数 ; | ||
| 10進数定数 | ||
|
:= ( 10進数値 - '0' ) ( 10進数値 | '_' )* | '0' ; | ||
| 8進数定数 | ||
|
:= '0' '_'? 8進数 ( 8進数 | '_' ) * ; | ||
| 16進数定数 | ||
|
:= ( "0x" | "0X" ) '_'? 16進数 ( 16進数 | '_' )* ; | ||
| 浮動小数点定数 | ||
|
:= 10進数 ( 10進数 | '_' )* '.' ( 10進数 | '_' )+ ( 'e' | 'E' ) 符号? ( 10進数 | '_' )+ | 10進数? ( 10進数 | '_' )* '.' ( 10進数 | '_' )+ ( ( 'e' | 'E' ) 符号? ( 10進数 | '_' )+ )? | 10進数 ( 10進数 | '_' )* '.' ( 10進数 | '_' )* ( ( 'e' | 'E' ) 符号? ( 10進数 | '_' )+ )? ; | ||
| 文字列定数 | ||
|
:= '"' ( "\\\"" | ( 任意文字 - '"' ) )* '"' ; |