何ができるか
進数変換ツールは、1 つの整数を一般的な位取り記数法すべてで同時に表示します。2 進数(基数 2)、8 進数(基数 8)、10 進数(基数 10)、16 進数(基数 16)、36 進数です。どの基数で入力しても他の表記が入力に合わせて更新され、それぞれにコピーボタンが付いています。
基数変換はプログラマーの日常業務です。16 進数のカラーコードやメモリアドレスを読む、ビットフラグやマスクを 2 進数で確認する、Unix のファイルパーミッションを 8 進数(755)で設定する、36 進数で ID を短くする、といった場面で使います。
使い方
- 入力欄に数値を入力または貼り付けるか、サンプル をクリックします。
- 入力の基数 を「自動」のままにすると、
0x・0o・0bの接頭辞を読み取り、接頭辞のない数字は 10 進数として扱います。ffのような 16 進数を接頭辞なしで入力したいときは、基数を自分で選んでください。 - 桁区切り をオンにすると、長い結果を読みやすいグループに分けます。2 進数と 16 進数は 4 桁、10 進数と 8 進数は 3 桁ごとです。
- 各行はコピーボタンでコピーできます。ビット長 の行はその値に必要なビット数を示すので、整数型を選ぶときの目安になります。
例
CSS のオレンジ色の一種である 0xFF5733 は次のとおりです。
| 基数 | 値 |
|---|---|
| 10 進数 | 16734003 |
| 2 進数 | 111111110101011100110011 |
| 8 進数 | 77653463 |
| 36 進数 | 9yo1f |
必要なビット数は 24 ビットで、赤・緑・青にそれぞれ 1 バイトずつ使っています。
基数変換の仕組み
基数 b では、各桁はすぐ右の桁の b 倍の重みを持ちます。16 進数の ff は 15 × 16 + 15 = 255 です。別の基数に変換するには、新しい基数で割り算を繰り返し、余りを逆順に読みます。16 = 2⁴、8 = 2³ なので、16 進数の 1 桁はちょうど 2 進数の 4 桁に、8 進数の 1 桁は 3 桁に対応します。16 進数が 2 進数をコンパクトに書く方法として使われるのはこのためです。
よくある質問
› どのくらい大きな数まで変換できますか?
実用上の上限はありません。任意精度整数(BigInt)を使っているため、2^53 を超えると精度が落ちる電卓とは違い、64 ビットや 128 ビット、さらに長い値も正確に変換できます。
› 16 進数や 2 進数はどう入力すればよいですか?
入力の基数が「自動」のときは、16 進数には 0x、2 進数には 0b、8 進数には 0o を先頭に付けます(例: 0xff、0b1010)。またはメニューから基数を選び、接頭辞なしで数字を入力します。
› 負の数はどう表示されますか?
マイナス記号の後に絶対値を付けて表示します。たとえば -255 は 16 進数で -ff です。固定幅の 2 の補数表現には変換しません。
› 区切り文字入りの数値を貼り付けられますか?
はい。スペース、アンダースコア、カンマは無視されるので、1_000_000 も 1,000,000 も使えます。結果にスペースを入れて区切りたい場合は「桁区切り」をオンにします。