n進数変換とは?
コンピュータは内部ではすべてのデータを2進数(0と1)で扱っています。しかし人間が扱いやすいように、10進数(私たちが日常使う数)や16進数(カラーコードやメモリアドレスでよく使う)に変換して表示されています。
このツールでは2進数・8進数・10進数・16進数の相互変換を瞬時に行います。
各進数の使いどころ
- 2進数: ビットフラグ管理、論理演算(AND/OR/XOR)、低レベルプログラミング
- 8進数: UNIXのファイルパーミッション(chmod 755など)
- 10進数: 通常の整数値(年齢、金額、IDなど)
- 16進数: カラーコード(#FF6600)、メモリアドレス(0x1A2B)、バイナリデータ表現
よく使う変換パターン
カラーコードの分解:
#FF6600 → R:FF(16) = 255(10), G:66(16) = 102(10), B:00(16) = 0(10)
ファイルパーミッション:
chmod 755 → 7(8) = 111(2) = 所有者rwx, 5(8) = 101(2) = グループr-x, 5(8) = 101(2) = その他r-x
16進数の0xFF = 10進数の255 = 2進数の11111111。これはよく使うので覚えておくと便利。
ビット演算の基礎
プログラミングでは2進数を使ったビット演算がよく登場します:
- AND(&): 両方が1のビットだけ1 → マスク処理
- OR(|): どちらかが1ならば1 → フラグをセット
- XOR(^): どちらか一方が1のとき1 → 差分検出
- NOT(~): 0と1を反転 → マスクの反転
- シフト(<< >>): 2の倍数での掛け算割り算
このツールで変換しながら演算の結果を確認すると、ビット演算の理解が深まります。
試験・学習にも活用
基本情報技術者試験や応用情報技術者試験では、2進数と16進数の変換問題が頻出です。
手計算の練習をしつつ、このツールで答え合わせをすることで効率よく学習できます。
コツ: 16進数の1桁は2進数の4桁に対応。F(16) = 1111(2) のように4ビットずつ変換するのが最速です。
このツールを作った理由
Webフロントエンドの開発ではカラーコードの計算が頻繁に登場します。特にグラデーションやアニメーションのRGB値を手動で調整するとき、16進数と10進数の変換がよく必要になります。
電卓アプリにも変換機能はありますが、Webで作業中に別アプリを開くのは地味に手間。ブラウザのタブひとつで使えるのが一番楽だと感じて作りました。