進数変換ツール オンライン:開発者のための実践ガイド
#FF6B6B というCSSのカラーコードを見て「あの文字は何だろう?」と思ったことはありませんか?あるいは、0x プレフィックスだらけのネットワークダンプを読もうとして途方に暮れた経験は? こうした場面はすべて進数変換(基数変換)と関係しています。本記事では、2進数・8進数・10進数・16進数の関係を、実務ですぐに使える例とともに解説します。
なぜ複数の進数が存在するのか
人間は指が10本あるため、10進数(デシマル)で数えます。コンピュータはトランジスタの状態が「オン」か「オフ」の2択しかないため、2進数(バイナリ)で動作します。16進数(ヘキサデシマル)は2進数を圧縮するために生まれました——2進数4桁を16進数1桁に収めることができます。8進数(オクタル)は初期のUnixシステムで広く使われており、現在もファイルパーミッションの場面で登場します。
進数変換を理解すると、次のようなことができるようになります:
- メモリアドレスの読み書き
- ネットワークプロトコルのデバッグ
- CSSやデザインツールでの色値の操作
- Unix系システムのファイルパーミッションの理解
- バイナリファイル形式や文字エンコーディングの解釈
基本例:10進数の 42
数字 42 を例に、各進数での表現を確認しましょう。
2進数(101010): 各桁は2の累乗です。右から左に読むと:2 + 8 + 32 = 42。
8進数(52): 各桁は8の累乗です。5×8 + 2×1 = 42。
16進数(2A): 各桁は16の累乗です。2×16 + 10×1 = 42。文字 A は10進数の10を表します。
手計算での変換方法
10進数 → 2進数
2で繰り返し割り算し、余りを下から上に読みます:
42 ÷ 2 = 21 余り 0
21 ÷ 2 = 10 余り 1
10 ÷ 2 = 5 余り 0
5 ÷ 2 = 2 余り 1
2 ÷ 2 = 1 余り 0
1 ÷ 2 = 0 余り 1
余りを下から読む:101010
10進数 → 16進数
16で繰り返し割り算し、余りを16進数の文字に対応させます(10=A、11=B … 15=F):
42 ÷ 16 = 2 余り 10(= A)
2 ÷ 16 = 0 余り 2
下から読む:2A
2進数 → 16進数(ショートカット)
2進数を右から4桁ずつグループ分けし、各グループを変換します:
101010 → 0010 1010
2 A
結果:2A。これが16進数がバイナリデータの圧縮に適している理由です。
実践例1:IPアドレスの16進数表現
ネットワークエンジニアはIPアドレスを16進数で扱うことがよくあります。IPv4アドレス 192.168.1.1 は次のように変換されます:
192 → C0
168 → A8
1 → 01
1 → 01
16進数表現:C0A8 0101
これはWiresharkなどのパケットキャプチャツールで表示される生のパケットデータとまったく同じ形式です。ネットワーク解析をする際、この表現を読めると大きな強みになります。
実践例2:CSSカラーコード
色 #FF6B6B は16進数のトリプレットです。各2桁が1つのカラーチャンネル(0〜255)を表します:
FF → 255(赤 Red)
6B → 107(緑 Green)
6B → 107(青 Blue)
つまり #FF6B6B は RGB(255, 107, 107)——コーラルレッドです。デザイナーが「赤チャンネル全開」と言うときは FF、「青なし」と言うときは 00 を指します。16進数カラーコードとは、3つの16進数をそのまま並べたものに過ぎません。
6B を10進数に変換:6×16 + 11 = 107。
ファイルパーミッションと8進数
chmod 755 のようなUnixのファイルパーミッションは、8進数をそのまま使います:
7 = 111(2進数)→ 読み取り + 書き込み + 実行
5 = 101(2進数)→ 読み取り + 実行(書き込み不可)
5 = 101(2進数)→ 読み取り + 実行(書き込み不可)
755 はオーナーが全権限を持ち、グループとその他は読み取りと実行のみ可能という意味です。8進数が3ビットの権限グループと完全に対応しているのは偶然ではありません。
オンラインツールで素早く変換する
手計算は学習に最適ですが、実務ではオンラインの進数変換ツールが断然便利です。FileCrankの無料ツールをご利用ください:
- 進数変換ツール — 2進数・8進数・10進数・16進数を一度に相互変換
- 16進数変換ツール — 16進数と10進数・テキストの相互変換
- 2進数変換ツール — バイナリとテキスト・10進数の変換
- ASCII変換ツール — 文字コードと10進数・16進数の対応確認
2A を入力するだけで、10進数 42、8進数 52、2進数 101010 が即座に表示されます。
よく使う値のクイックリファレンス
255の16進数は FF——1バイトの最大値です。CSSカラーが #000000(黒)から #FFFFFF(白)まである理由がここにあります。
まとめ
進数変換はコンピュータサイエンスの基礎知識のひとつで、デバッグ、ドキュメント読解、データの保存・転送の理解など、あらゆる場面で役立ちます。2進数はコンピュータが見る世界、16進数はエンジニアが読む世界、10進数は人間が使いやすい世界——それぞれが同じ数値の異なる表現です。
この関係を理解すれば、進数間の変換は自然にできるようになります。FileCrankの進数変換ツールで、自分の数値を使って練習してみてください。