Toolify

進数変換 — 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のみなどルールがあります。

入力データはサーバーに送信されますか?

いいえ。すべてブラウザ内で変換されます。

関連ツール

最終更新: