2進数・8進数・10進数・16進数の相互変換 — 開発者向け基礎知識
プログラミングでは10進数だけでなく2進数・16進数を扱う場面が多くあります。ビット演算・メモリアドレス・カラーコード・ファイルフォーマットの解析には進数変換の知識が不可欠です。
なぜ16進数を使うのか
16進数(HEX)は4ビットを1桁で表現できるため、バイナリデータを人間が読みやすい形式にする用途に適しています。RGB カラーの#FF5733は赤(FF=255)・緑(57=87)・青(33=51)を意味します。メモリアドレス(0x0000FFFFなど)やバイト列のデバッグ(デバッガの表示)も16進数が標準です。
2進数とビット演算の基礎
2進数はコンピュータが実際に処理する数値体系で、0と1で表現します。ビット演算(AND・OR・XOR・シフト)はフラグ管理・マスク処理・暗号化アルゴリズムなどに使われます。ビットビューアでは各ビットをクリックして反転できるため、ビットマスクの作成・確認作業を視覚的に行えます。
8進数(OCT)の使われ方
8進数は主にLinux/Unixのファイルパーミッション(chmod 755など)で使われます。755は「rwxr-xr-x」を意味し、7=111(rwx)・5=101(r-x)を表します。数字を見るだけでは判断しにくいパーミッション値も、2進数に変換することで直感的に理解できます。
プログラミング言語での進数リテラル
JavaScriptでは2進数を0b1010、8進数を0o12、16進数を0x0Aとプレフィックスで記述します。Pythonも同様の記法を採用しています。Number Base Converterではこれらの対応関係をリアルタイムで確認しながら、任意の進数から別の進数への変換を即座に行えます。