【じゅうろくしんすう】

16進数 とは?

💡 0〜9とA〜Fの16文字で数を表す記数法、コンピュータデータの標準表現
📌 このページのポイント
10進数・16進数・2進数の変換 10進数 16進数 2進数 10 0x0A 0000 1010 15 0x0F 0000 1111 255 0xFF 1111 1111 256 0x100 1 0000 0000 16進数は 0〜9, A〜F の16文字で表現(A=10, B=11, ... F=15) 色コード例: #FF5733 → R=255, G=87, B=51
10進数・16進数・2進数の対応表
ひよこ ひよこ

16進数って何のためにあるの?

ペンギン先生 ペンギン先生

コンピュータは2進数(0と1)で動くけど、2進数はすぐ桁数が増えて読みにくい。「11111111」を16進数にすると「FF」の2文字で表せる。2進数4ビット=16進数1桁という綺麗な対応があるから、バイナリデータを人間が読みやすく表現できる。

ひよこ ひよこ

CSSのカラーコード「#FF5733」ってどういう意味?

ペンギン先生 ペンギン先生

「#RRGGBB」の形式で赤・緑・青の強さを16進数2桁(00〜FF)で表している。「#FF5733」は赤255(FF)・緑87(57)・青51(33)のオレンジ色。FFが最大、00が最小。白は#FFFFFF、黒は#000000。

ひよこ ひよこ

「0x」ってよく見るけど何?

ペンギン先生 ペンギン先生

16進数であることを示すプレフィックス(接頭辞)。「0xFF」は16進数のFFで10進数の255。プログラムコード・メモリアドレス・バイト値を表すのによく使う。「0b」は2進数、「0o」は8進数のプレフィックス。

ひよこ ひよこ

プログラミングで16進数を使う具体的な場面って?

ペンギン先生 ペンギン先生

メモリアドレスの表示(0x7FFF5FBF)、バイナリファイルのダンプ表示、文字コードの確認(UTF-8でのあは0xE3 0x81 0x82)、ネットワークパケットの解析など。低レイヤーの作業では16進数表記が標準だよ。

ひよこ ひよこ

16進数を素早く10進数に変換するコツってあるの?

ペンギン先生 ペンギン先生

0xFFが255というのは覚えておくと便利。1バイトの最大値だからね。あとは電卓やプログラミング言語のREPLで変換するのが実務的。Pythonなら int('FF', 16) で255、hex(255) で '0xff' が得られる。暗算するよりツールに任せるのが現場流だよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
16進数って出てきたら「0〜9とA〜Fの16種類の文字で数を表す記数法、コンピュータのデータ表現に多用される」と思えばOK!
📖 おまけ:英語の意味
「Hexadecimal」 = 16進法の
💬 ギリシャ語のhexa(6)とラテン語のdecimal(10進数)の合成語。コンピュータが2進数(バイナリ)を扱うため、2進数と変換しやすい16進数が補助表現として普及した
← 用語集にもどる