目次
はじめに
C++ では、同じ数値を複数の進数表記で記述できます。特に、10 進(通常の整数)、8 進(先頭 0)、16 進(0x
接頭辞)は、プログラム内で数値をわかりやすく記述するために頻繁に使用されます。本記事では、各種リテラルを切り替えて出力するサンプルコードを紹介し、数値リテラルの仕組みを丁寧に解説いたします。
サンプルコード
// 進数ごとの数値リテラルを出力するサンプル
#include <iostream>
int main(int /*argc*/, char* /*argv*/[])
{
// 10 進数リテラル
std::cout << "10 進数 42 は " << 42 << " です。" << '\n';
// 8 進数リテラル(先頭に 0)
std::cout << "8 進数 052 は " << 052 << " です。" << '\n';
// 16 進数リテラル(0x 接頭辞)
std::cout << "16 進数 0x2A は " << 0x2A << " です。" << '\n';
// 別の 16 進数リテラル例
std::cout << "16 進数 0xFF は " << 0xFF << " です。" << '\n';
return 0;
}
コード解説
行 | 説明 |
---|---|
3 | #include <iostream> をインクルードし、標準入出力を利用できるようにします。 |
5 | main 関数はプログラムのエントリーポイントです。未使用の引数はコメントで抑止しています。 |
8 | 42 は 10 進の整数リテラルです。 |
11 | 052 は 8 進表記で 42 を表します。先頭の 0 が 8 進数を示します。 |
14 | 0x2A は 16 進表記で 42 を表します。接頭辞 0x が 16 進数を示します。 |
17 | 0xFF は 16 進表記で 255 を表します。 |
数値リテラル早見表
進数 | 記述例 | 説明 |
---|---|---|
10 進 | 42 | 一般的な整数表記 |
8 進 | 052 | 先頭 0 を付ける。052 は 10 進で 42 |
16 進 | 0x2A | 0x を付ける。0x2A は 10 進で 42 |
16 進 | 0xFF | 0x を付ける。0xFF は 10 進で 255 |
実行手順
- ファイル保存
コードをnumeric_literals.cpp
というファイル名で保存してください。 - コンパイル bashコピーする編集する
g++ numeric_literals.cpp -o numeric_literals
- 実行 bashコピーする編集する
./numeric_literals
実行結果 コピーする編集する10 進数 42 は 42 です。 8 進数 052 は 42 です。 16 進数 0x2A は 42 です。 16 進数 0xFF は 255 です。
まとめ
数値リテラルを活用すれば、同じ値を異なる進数で表現し、コードの可読性や意図を明確にできます。C++ では 10 進、8 進、16 進それぞれに固有の書式が存在し、接頭辞や先頭の 0
によって進数を区別します。本記事のサンプルを参考に、用途に応じて最適なリテラル表記を選択してみてください。