基数変換ツールの使い方
- 符号なし整数を入力し、その数が現在使っている変換元の基数を選びます。
- 変換先の基数を選んで「数値を変換」を押します。Numberの安全範囲を超えても整数の全桁を保持します。
- 変換後に基数を入れ替えると、正確な結果が次の入力になり往復確認できます。
- 結果をコピーすると、両方の値と基数を含むテキスト式を保存できます。
位取り記数法の仕組み
基数は使用する数字の種類を表します。2進数は0–1、8進数は0–7、10進数は0–9、16進数はA–Fも使います。各桁は基数の累乗なので、16進数2Fは2 × 16 + 15 = 10進数47です。
8進数1桁は2進数3桁、16進数1桁は2進数4桁に対応します。同じ符号なしの値を、目的に合う長さで表せます。
計算にはNumberではなくBigIntを使います。そのため9,007,199,254,740,991を超える整数も、入力上限内なら浮動小数点の丸めなしで正確です。
先頭の0は値を変えないため結果では正規化されます。16進数のa–fは大文字・小文字とも入力でき、結果は大文字です。
変換例
例1:10進数255を16進数へ
10進数255を入力して16進数を選ぶとFFになります。255 = 15 × 16 + 15だからです。入れ替えると正確に255へ戻ります。
例2:安全範囲を超える2進整数
2進数100000000000000000000000000000000000000000000000000001は10進数9007199254740993です。BigIntなので元のビット列へ正確に戻せます。
便利な場面
- ビットフラグ、レジスター、アドレス、プロトコル値を資料と比較する。
- 位取り展開や除算を使う情報科学の課題を確認する。
- 大きな識別子を丸めずに10進・16進・2進表記へ移す。
- 基数を入れ替えて往復結果を検算する。
入力規則と制限
- 符号なし整数のみです。符号、小数、分数、指数、2の補数は扱いません。
- 0b・0o・0x接頭辞、空白、カンマ、下線は拒否します。選択した基数だけを解釈に使います。
- 各基数で使える文字は0–1、0–7、0–9、または0–9/A–Fです。
- 入力は4,096文字までです。長い結果は結果欄の中でスクロールします。
- 算術、ビット演算、文字エンコード、分数の変換は行いません。
対応しているすべての基数変換
| 変換方向 | 方法 | 正確な例 |
|---|---|---|
| 2進数 から 8進数 (bin から oct) | 基数として読み取り 2; 基数で表記 8. | 1010102 = 528 |
| 2進数 から 10進数 (bin から dec) | 基数として読み取り 2; 基数で表記 10. | 1010102 = 4210 |
| 2進数 から 16進数 (bin から hex) | 基数として読み取り 2; 基数で表記 16. | 1010102 = 2A16 |
| 8進数 から 2進数 (oct から bin) | 基数として読み取り 8; 基数で表記 2. | 528 = 1010102 |
| 8進数 から 10進数 (oct から dec) | 基数として読み取り 8; 基数で表記 10. | 528 = 4210 |
| 8進数 から 16進数 (oct から hex) | 基数として読み取り 8; 基数で表記 16. | 528 = 2A16 |
| 10進数 から 2進数 (dec から bin) | 基数として読み取り 10; 基数で表記 2. | 4210 = 1010102 |
| 10進数 から 8進数 (dec から oct) | 基数として読み取り 10; 基数で表記 8. | 4210 = 528 |
| 10進数 から 16進数 (dec から hex) | 基数として読み取り 10; 基数で表記 16. | 4210 = 2A16 |
| 16進数 から 2進数 (hex から bin) | 基数として読み取り 16; 基数で表記 2. | 2A16 = 1010102 |
| 16進数 から 8進数 (hex から oct) | 基数として読み取り 16; 基数で表記 8. | 2A16 = 528 |
| 16進数 から 10進数 (hex から dec) | 基数として読み取り 16; 基数で表記 10. | 2A16 = 4210 |
よくある質問
なぜ16進数FFは10進数255ですか?
15個の16と15個の1なので、15 × 16 + 15 = 255です。
小文字の16進文字は使えますか?
はい。a–fを受け付け、結果は大文字で表示します。
先頭の0が消えるのはなぜですか?
符号なし整数の値を変えないため正規化します。固定幅が必要なら仕様を確認して後から0を補ってください。
大きな整数は丸められますか?
いいえ。BigIntで入力上限まで全桁を保持します。
16進入力を文字や色として解釈しますか?
いいえ。符号なし整数としてのみ扱います。