本文へスキップ
AZ Tools

基数変換ツール

2進数・8進数・10進数・16進数のいずれかで数値を入力すると、4 つの表記すべてに即座に変換して表示します。変換には任意精度整数(BigInt)を使うため、64 ビットの ID や 256 ビットのハッシュのような巨大な値も正確に変換できます — 2^53 を超える整数を静かに壊してしまう浮動小数点ベースの変換器とは違います。処理はすべてブラウザ内で完結してサーバーには何も送信されず、入力値はローカルに保存されるので再読み込み後も残ります。 進法ごとに見える構造が異なるため、基数変換はプログラミングの日常的な作業です。16進数の 1 桁はちょうど 4 ビットを表し、2進数の簡潔な省略表記になります — FF は 11111111 で、1 バイトは常に 16進数 2 桁です。だからこそメモリアドレス、カラーコード、MAC アドレスに 16進数が使われます。8進数はビットを 3 つずつまとめる表記で、今では主に Unix のファイル権限(chmod 755)に残っています。このツールが扱うのは非負の整数のみで、固定ビット幅を持たないため 2 の補数としての解釈は行いません(ここでの FF は −1 ではなく 255 です)。

2進数
8進数
10進数
16進数

使い方

  1. 入力欄に数値を入力または貼り付けます — 0x や 0b の接頭辞は付けず、数字のみにします。
  2. その数値が書かれている基数を選びます: 2進数(2)・8進数(8)・10進数(10)・16進数(16)。
  3. 4 つの基数での結果を確認します。入力すると即座に更新されます。
  4. 各結果のコピーボタンで必要な値をコピーします。
  5. エラーが出た場合は、選んだ基数に存在しない数字が含まれています(例: 8進数の「8」)。

よくある質問

数値はどのくらい大きくできますか?
いくらでも大きくできます。変換は多倍長整数(BigInt)で行うため、64 ビットの ID でも 256 ビットのハッシュでも、それよりはるかに大きな値でも正確に変換されます。一般的な浮動小数点ベースの変換器は 2^53(約 9×10^15)を超えると精度を失いますが、このツールは決して丸めません。
負の数や小数は使えますか?
いいえ — 非負の整数のみを変換します。実際のハードウェアでの負数表現は宣言されたビット幅に依存します(2 の補数では FF は 8 ビット符号付きなら −1、符号なしなら 255)。幅が分からなければ唯一の正解は存在しないため、ここでは絶対値を変換し、符号や幅の解釈はご自身で適用してください。
0x や 0b の接頭辞は必要ですか?
いいえ — 接頭辞は付けないでください。入力欄はドロップダウンで選んだ基数で有効な数字だけを受け付けるため、「0x1F」は拒否されます(「x」は数字ではないため)。代わりに「1F」と入力して 16進数を選んでください。
プログラマーはなぜ 16進数や 8進数を使うのですか?
ビットにきれいに対応するからです。16進数 1 桁はちょうど 4 ビット、2 桁で 1 バイトなので、メモリアドレスやバイトダンプ、#RRGGBB のカラーコードに最適です。8進数 1 桁は 3 ビットで、Unix の rwx 権限の 3 ビット組(chmod 755)と一致します。
なぜ入力が無効と表示されるのですか?
選んだ基数の数字集合に無い文字が含まれているためです — 例えば 2進数の「2」や 16進数の「G」。16進数は大文字・小文字どちらでもよく前後の空白は無視されますが、数値の途中のカンマ・空白・アンダースコアなどの区切り文字は受け付けません。

このテーマのガイド

関連ツール