使い方
- 変換元の数値の基数を選択します。二進数、八進数、十進数、十六進数、または2~36の任意の基数を選べます。
- 数値を入力または貼り付けます。0xなどの接頭辞や、_などの区切り文字も使用できます。
- 各基数での値が一度に表示されます。必要な値をコピーしてください。
- 一番下の行では、短いIDに使う基数36など、任意の基数に変換できます。
仕組み
位取り記数法では、基数の累乗に各桁の数字を掛けて値を表します。二進数(基数2)では各桁が1ビット、八進数(基数8)では各桁が3ビット、十六進数(基数16)では各桁が4ビットに相当し、10~15はA~Fの文字で表します。16を超える基数ではアルファベットを続けて使い、最大の基数36では数字の0~9とアルファベットのA~Zをすべて使います。
このコンバーターはJavaScriptのBigInt演算を使うため、桁数にかかわらず正確に変換できます。通常の浮動小数点数では9,007,199,254,740,991(2^53 − 1)を超えると精度が失われるため、64ビット値を誤って変換するコンバーターもあります。
入力は選択した基数に照らして1文字ずつ検証されます。二進数の2や十六進数のGなど、最初に見つかった無効な文字とその位置が表示されます。英字の大文字と小文字は区別されません。スペースとアンダースコアは無視されるため、1111_0000やDE AD BE EFのような値を貼り付けられます。接頭辞0b(二進数)、0o(八進数)、0x(十六進数)を使用できます。入力基数を十進数に設定していても、数値がこれらの接頭辞で始まる場合は、接頭辞に応じた基数で解釈されます。
負の数は、マイナス記号に続けて絶対値を変換します(−255は十六進数で−FF)。このツールでは、8、32、64ビットなど固定のビット幅に依存する二の補数表現は表示しません。小数には対応していません。変換できるのは整数のみです。
使用例
十六進数の色コードやバイト値を読む
0xFFは十進数で255、二進数で1111 1111です。1バイトで表せる最大値で、色コード#FF0000のように使われます。この場合、FFは赤の強さが最大であることを表します。
Unixのファイル権限
八進数の権限755は、二進数で111 101 101です。所有者には読み取り・書き込み・実行(7)、グループとその他のユーザーには読み取り・実行(5)の権限を表します。十進数では493です。
大きな64ビット値
符号なし64ビット整数の最大値である十六進数のFFFF FFFF FFFF FFFFは、十進数で18446744073709551615です。丸めずに、桁ごとに正確に変換されます。
よくある質問
二進数を手計算で十進数に変換するには?
各ビットに右端から0で数えた2の累乗を掛け、その結果を足します。1011の場合は、1×8 + 0×4 + 1×2 + 1×1 = 11です。
二進数と十六進数を4桁ずつ区切るのはなぜですか?
十六進数の1桁はちょうど4ビットに相当するため、二進数を4桁ずつ区切ると十六進数の桁に対応します。たとえば、1101 1110はDEです。見た目で簡単に相互変換できます。
数値のサイズに上限はありますか?
固定の最大サイズはありません。このツールはBigIntを使うため、数百桁や数千桁の数も正確に変換できます。非常に長い入力は、処理速度の遅いデバイスでは時間がかかる場合があります。
負の数や小数を変換できますか?
負の整数に対応しており、マイナス記号も保持されます。小数や小数点には対応していません。小数点は無効な文字として報告されます。
基数36は何に使われますか?
基数36では0~9とA~Zを使い、大文字と小文字を区別しない英数字の表記の中で最もコンパクトに表せます。短いIDやURL短縮サービスで使われます。たとえば、十進数の1,000,000は基数36でLFLSです。
プライバシー
変換はブラウザー上で行われます。入力した数値がアップロード、保存されたり、アクセス解析に含まれたりすることはありません。