進数変換(2進数・8進数・10進数・16進数)
数を入力して、入力の進数を選ぶと、2 進数・8 進数・10 進数・16 進数の 4 つに、まとめて変換します。
進数変換の考え方
- 2進数:0 と 1 だけ。コンピューターの内部の表し方
- 8進数:0〜7。3 ビットを 1 桁にまとめた表し方
- 10進数:0〜9。ふだん使う数
- 16進数:0〜9 と A〜F(A=10、…、F=15)。4 ビットを 1 桁にまとめた表し方。色コードやメモリのアドレスなどに使う
計算は、BigInt(任意の大きさの整数を、誤差なしで扱う仕組み)で行うので、大きな整数も正確に変換します。
計算例
| 10 進数 | 2 進数 | 8 進数 | 16 進数 |
|---|---|---|---|
| 10 | 1010 | 12 | A |
| 255 | 1111 1111 | 377 | FF |
| 256 | 1 0000 0000 | 400 | 100 |
| 500 | 1 1111 0100 | 764 | 1F4 |
| 65,535 | 1111 1111 1111 1111 | 177777 | FFFF |
入力のルール
- 整数だけです。小数点(.)を含む入力は、エラーにします。
- 使える文字:2 進数は 0〜1、8 進数は 0〜7、10 進数は 0〜9、16 進数は 0〜9 と A〜F(大文字・小文字どちらも)。合わない文字があると、何文字目かを表示します。
- 接頭辞:選んだ進数に合う 0b(2 進数)・0o(8 進数)・0x(16 進数)は、自動で取り除きます。16 進数では、「0b1」は、接頭辞ではなく、数字の列(16 進数の 0B1)として読みます。
- 区切り:空白と「_」は、無視します(例:1111 0000、1111_0000)。10 進数は、「,」も無視します。
- 大きさの上限:2 の 256 乗未満の整数です(10 進数で約 78 桁、16 進数で 64 桁、2 進数で 256 桁まで)。入力の文字数の上限は 1,000 文字です。超えると、エラーにします。
負の数の扱い
負の数は、マイナス記号つきの絶対値で変換します(-255 は、16 進数で -FF、2 進数で -11111111)。コンピューターの内部では、負の数を「2 の補数」という別の表し方で持つことがありますが、このツールは、2 の補数には対応していません。-0 は 0 になります。
注意点
- 結果の下に、絶対値を表すのに必要なビット数とバイト数を表示します(255 なら 8 ビット・1 バイト)。
- 2 進数と 16 進数は、読みやすいように、4 桁ごとに区切って表示できます(コピーは、区切りなしです)。10 進数は、3 桁ごとにカンマで区切ります。
- IP アドレスのビットの確認などには、サブネット計算も使えます。ファイルの容量の単位換算は、データ容量換算を使ってください。
よくある質問
16 進数の「0x」は、入力しなくてもよいですか?
はい。「0x」は、16 進数であることを示す印なので、入力しなくても変換できます。付けて入力しても、自動で取り除きます。
大きな数は、どこまで変換できますか?
2 の 256 乗未満の整数です。10 進数では、約 1.16 × 10 の 77 乗より小さい数です。
小数や、負の数の 2 の補数に変換したいときは?
このツールは、整数の変換だけで、小数と 2 の補数には対応していません。