進数変換ツール
ビット幅(8/16/32/64bit)を選んでから、2進数・8進数・10進数・16進数のいずれかの欄に数値を入力すると、残りの3つの欄をリアルタイムに変換して表示します。負数は選択したビット幅の2の補数表現で変換されます(例: 8bitで10進数「-1」は2進数「11111111」・16進数「FF」)。10進数欄のみ先頭に「-」を付けた符号付き入力に対応し、2進数・8進数・16進数の欄はビットパターンそのもの(0x/0b/0oプレフィックス付き入力可)を表すため符号は使用しません。桁数の大きい数値も欠落なく変換されます。ビット演算の確認には CIDR/サブネット計算機 もあわせてご利用ください。
🔒 ブラウザ内で完結・入力データはサーバーに送信されません
注意事項
- 負数は選択したビット幅の2の補数表現で変換されます。10進数欄には符号付きの値(例: -1)を入力し、2進数・8進数・16進数の欄にはそのビット幅でのビットパターン(例: 8bitの-1は2進数「11111111」)が表示されます。
- 2進数・8進数・16進数の欄には符号(+/-)を入力できません。これらの欄はビットパターンそのものを表すためです。10進数欄でのみ符号付きの値を入力できます。
- ビット幅を変更すると、符号付き整数として表せる範囲(例: 8bitなら-128〜127)も変わります。現在の10進数の値が新しいビット幅の範囲外になった場合はエラーが表示されるので、値を調整してください。
- 内部的にBigIntを使用しているため、64bitの範囲の数値も欠落なく変換できます。
- 入力には「0xFF」「0b1111」「0o17」のような進数プレフィックスを付けても構いません(変換結果の表示にはプレフィックスは付きません)。
用語解説
2進数(binary)
0と1の2種類の数字だけで数値を表す方法。コンピュータが内部で扱うビット列そのものに対応します。
8進数(octal)
0〜7の8種類の数字で数値を表す方法。2進数3桁をまとめて1桁に対応させられ、UNIX系OSのファイルパーミッション(例: chmod 755)などで使われます。
16進数(hexadecimal)
0〜9とA〜Fの16種類の文字で数値を表す方法。2進数4桁をまとめて1桁に対応させられ、カラーコード(例: #FF0000)やメモリアドレスの表記などでよく使われます。
2の補数(two’s complement)
コンピュータが負の整数をビット列で表現する際に標準的に使われる方式です。あるビット幅(例: 8bit)において、負の値vは「2^ビット幅 + v」を計算したビットパターンで表されます。例えば8bitの場合、-1は「256 + (-1) = 255」つまり2進数で「11111111」になります。この方式では、そのままの足し算・引き算のビット演算で正しく加減算ができるという利点があります。
ビット幅(8/16/32/64bit)
整数を何ビットの固定長で表現するかを表します。ビット幅によって表現できる符号付き整数の範囲が変わります(例: 8bitは-128〜127、16bitは-32768〜32767)。プログラミング言語の整数型(int8、int32など)のサイズに対応します。
BigInt
JavaScriptで任意精度の整数を扱うためのデータ型。通常の数値型(Number)では正確に表現できない、非常に大きな整数も誤差なく扱えます。
よくある質問
負の数はどのように変換されますか?
選択したビット幅の2の補数表現で変換します。たとえば8bitで10進数の「-1」は、2進数で「11111111」、16進数で「FF」になります。ビット幅を変えると同じ値でも表示が変わります。
0xや0bなどのプレフィックスは付けて入力できますか?
はい。16進数の「0x」、2進数の「0b」、8進数の「0o」を付けたまま入力できます。大文字・小文字はどちらでも構いません。
64bitの大きな数値でも正確に変換できますか?
内部でBigIntを使って計算するため、64bitの範囲でも桁落ちなく正確に変換できます。JavaScriptの通常のNumber型で扱うと丸め誤差が出る大きな値でも問題ありません。
このページをシェア
