基数変換
2進数・8進数・10進数・16進数と、2〜36の任意の基数を相互に変換します。大きな数、2の補数、ビット表示に対応。
コード例
自分のプロジェクトにコピーして使えます。どの例も言語の標準ライブラリだけを使うので、インストールするものはありません。
const value = 255n
console.log([2, 8, 16].map((base) => value.toString(base)).join(' '))できること
数値を2進数・8進数・10進数・16進数と、2〜36の任意の基数の間で変換します。長い数もすべての桁を保ち、8・16・32・64ビットでの2の補数パターンを表示し、ビットを1つずつ反転できます。
使い方
- 入力欄またはいずれかの行に数値を入力または貼り付けます。
- 入力の基数、2〜36の任意の基数、ビット幅を選びます。
- 他の行を読み、ビットをクリックして反転し、結果をコピーします。
例
255 は2進数で 1111 1111、8進数で 377、16進数で FF です。
8ビットの -1 は2の補数で 1111 1111 になり、FF を8ビットの符号付きとして読むと再び -1 になります。
知っておくと便利なこと
- 接頭辞
0b・0o・0xと、桁の間のアンダースコアや空白が使えます。 - 数値は64ビットや 2^53 に制限されません。ビット表示は、値が選んだ幅に収まるときだけ表示されます。
- 入力を2の補数のパターンとして読むをオンにすると、
FFを 255 ではなく-1として読みます。
2進数で負の数はどう表しますか?
コンピュータは負の数を2の補数で保存します。すべてのビットを反転して1を足します。8ビットでは -1 が 1111 1111、-128 が 1000 0000 です。同じパターンも符号なしなら 255 や 128 と読むため、幅と符号が重要です。
よくある質問
2^53 を超える数も扱えるのはなぜですか?
多くの変換ツールは浮動小数点数を使い、9,007,199,254,740,992 を超えると桁が失われます。このツールは任意精度の整数を使うため、長い数もすべての桁を保ちます。
0x・0b・0o の接頭辞は何ですか?
ソースコードで基数を示す印です。0x は16進、0b は2進、0o は8進です。入力しても省いても構いません。桁の間のアンダースコアと空白は無視されます。
このツールは数値をどこかに送信しますか?
いいえ。すべてブラウザ内で処理され、入力した内容が当サーバーに送られることはありません。