整数の値を表現する方法は、10進数で表現する以外にいくつかの方法があります。
それは、10進数、8進数、文字定数で、以下に 109の値を使った例で示します。
fprintf(stdout, "%d\n", 109);/* 10進数 */ fprintf(stdout, "%d\n", 0x6d);/* 16進数 */ fprintf(stdout, "%d\n", 0155);/* 8進数 */ fprintf(stdout, "%d\n", 'm');/* 文字定数 */ |
109 109 109 109 |
上記で表示しているのは、全てが109の10進に対応するデータで、バイナリの実体は同じですが表現方法が違います。
10進数の場合は0(ゼロ)から始まらない表現で、
16進数表現の場合は0xを前に付け、
8進数の場合は0(ゼロ)から始まる表現にし、
半角英文字の表現はシングルクォートで文字を囲みます。
(109のASCIIコードはmの文字です。ASCIIコード表参照)
シングルクォートで文字を囲む表現は、文字定数と呼ばれることがあります。
(文字定数と呼んでも実体はその文字のコード番号です)