×
数値表現と基数変換

コンピュータの世界において、なぜ「8進数」や「32進数」ではなく、「16進数」がこれほどまでに普及しているのでしょうか。その最大の理由は、現在のコンピュータシステムが情報を「8ビット(1バイト)」を基本単位として管理していることにあります。1バイト(8桁の2進数)は「00000000」から「11111111」までの値をとりますが、これをそのまま書くと長くて非常に扱いづらくなります。ここで16進数を導入すると、2進数の4桁(半バイト=ニブルと呼びます)がちょうど16進数の1桁に対応するため、8ビットのデータは必ず16進数の2桁(00からFFまで)にすっきりと収まるのです。
例えば、2進数の「10110101」というデータは、4桁ずつに分けて「1011」と「0101」として考えます。「1011」は10進数で11なので16進数では「B」、「0101」は10進数で5なので16進数では「5」となり、合わせて「B5」と極めてシンプルに表現できます。このように、16進数は2進数との変換が非常に機械的で簡単でありながら、人間にとっても視覚的に短く把握しやすいため、プログラムのエラーを解析する際に見る「ダンプリスト(メモリの内容をそのまま出力したもの)」や、ネットワークの通信パケットの解析、IPv6アドレスの表記など、ITのあらゆる低レイヤーの場面で標準的な表記法として採用されています。