進数変換 — 2進数・8進数・10進数・16進数
元の進数を選んで値を入力すると、4つの進数すべてでの表現を同時表示。プログラミング・ネットワーク・電子工学に。
- Binary (2)
- 11111111
- Octal (8)
- 377
- Decimal (10)
- 255
- Hexadecimal (16)
- FF
仕組み
位取り記数法の仕組み
どの進数も位取り記数法に従います: 右端が base⁰ = 1、次が base¹、次が base² と続きます。10進数の「255」= 2×100 + 5×10 + 5×1。2進数の「11111111」= 1×128 + 1×64 + ... + 1×1 = 255。同じ数値の異なる進数表現です。
16進数は0〜9とA〜Fで1桁あたり16通りを表現。「FF」= 15×16 + 15×1 = 255。8進数は0〜7(3ビット/桁)、2進数は0と1のみ。変換は機械的(10進数経由で目的の進数へ)で、本ツールが非負整数について自動処理します。
各進数の用途
2進数: 低レベルコンピューティング — ビットフィールド・マスク・組み込みファームウェア。レジスタレイアウトの読解、ハードウェアレベルのデバッグなど。
8進数: Unixのファイルパーミッション(chmod 755 = rwxr-xr-x)、一部の旧フォーマット。現代では出番が少ない。
10進数: 人間が日常的に使う進数。通常の計算の標準。
16進数: ソフトウェア領域で最も使用 — カラーコード(#FF6B35)、メモリアドレス(0x7fff...)、MACアドレス、バイナリのバイト表現、ハッシュ値の表記など。
覚えておきたい数字
1バイト = 8ビット = 16進2桁 = 256通り(0〜255)。16進1桁 = 4ビット = 16通り。8進1桁 = 3ビット。16進「FF」 = 10進255 = 2進11111111。16進「100」 = 10進256。16進「FFFF」 = 10進65535(16ビット符号なし最大)。16進「FFFFFFFF」 = 10進4294967295(32ビット符号なし最大)。
よくある質問
›16進数は大文字小文字を区別しますか?
「ff」も「FF」も同じ値として解釈されます。表示は慣例で大文字を使います。
›負の数も入力できますか?
可能です。先頭に「-」を付けてください。各進数で符号付き表示になります(例: -255 → 16進で -FF)。
›扱える最大値は?
JavaScript の Number.MAX_SAFE_INTEGER(約2⁵³)まで。それ以上は BigInt 対応ツールをご利用ください。
›0x や 0b プレフィックスは?
プレフィックスは取り除いて入力してください。「0xFF」 → 「FF」(16進選択時)、「0b1010」 → 「1010」(2進選択時)。
›なぜ Unix chmod は 8進数なの?
パーミッションは「所有者・グループ・他者」の3グループ × 3ビットで構成されており、3ビット単位の8進数1桁に綺麗に対応するためです(755 = 111 101 101 = rwx r-x r-x)。
›小数も変換できますか?
現バージョンは非負整数のみです。固定小数点対応は今後検討中。
›「進数で使えない文字」エラーが出ます
選択した進数で許容されない文字が含まれています。16進は0〜9とA〜F、2進は0と1のみなどルールがあります。
›入力データはサーバーに送信されますか?
いいえ。すべてブラウザ内で変換されます。
関連ツール
最終更新: