進数変換ツールの使い方
- 変換したい数を入れ、その数が何進数かを選びます(例:1011 と「2進数」)。
- 2進数・8進数・10進数・16進数の答えがまとめて表示されます。2進数・16進数は4桁ずつ区切って表示します。
- 短い数なら、10進数に直す途中式(位取り)も表示されます。
2進数・16進数を10進数に変換する方法
右の桁から順に 1, 2, 4, 8, 16 … の重みを掛けて足します。1011₂ は 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11 です。 16進数なら重みは 1, 16, 256 … で、FF₁₆ = 15×16 + 15 = 255 です(A〜F は 10〜15)。
10進数を2進数・16進数に変換する方法
2 で割り続けて、あまりを下から順に並べます。11 ÷ 2 = 5 あまり 1、5 ÷ 2 = 2 あまり 1、2 ÷ 2 = 1 あまり 0、1 ÷ 2 = 0 あまり 1 → 下から読んで 1011。 16進数にするときは 16 で割ります。200 ÷ 16 = 12 あまり 8、12 は C なので C8 です。
進数の変換表(0〜20)
| 10進数 | 2進数 | 8進数 | 16進数 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 2 | 10 | 2 | 2 |
| 3 | 11 | 3 | 3 |
| 4 | 100 | 4 | 4 |
| 5 | 101 | 5 | 5 |
| 6 | 110 | 6 | 6 |
| 7 | 111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
| 16 | 1 0000 | 20 | 10 |
| 17 | 1 0001 | 21 | 11 |
| 18 | 1 0010 | 22 | 12 |
| 19 | 1 0011 | 23 | 13 |
| 20 | 1 0100 | 24 | 14 |
2進数の4桁は16進数の1桁にあたるので、2進数は4桁ずつ区切ると16進数に直しやすくなります(1111 0000₂ = F0₁₆)。
よく出る2の累乗
| 2の累乗 | 10進数 | 16進数 | 表せる最大値(16進数) |
|---|---|---|---|
| 24 | 16 | 10 | F |
| 28 | 256 | 100 | FF |
| 210 | 1,024 | 400 | 3FF |
| 216 | 65,536 | 1 0000 | FFFF |
8ビット(1バイト)で表せるのは 0〜255(00〜FF)の256通り、16ビットなら 0〜65,535 です。
小数を2進数に変換する方法
小数部分に 2 を掛けて、整数部分(0 か 1)を上から順に並べます。0.625 なら 0.625×2 = 1.25(1)、0.25×2 = 0.5(0)、0.5×2 = 1.0(1)で 0.101₂ です。 0.1 のように 0.0001100110011…₂ と同じ並びが終わらずに続く小数もあります。このツールは整数の変換に対応しています。
2進数の足し算
2進数では 1 + 1 = 10(2 になったら繰り上がる)です。1011₂ + 0110₂ は、右の桁から計算して 1 0001₂。10進数で確かめると 11 + 6 = 17 です。
文字コード・色コードと16進数
| 文字 | 10進数 | 16進数 | 2進数 |
|---|---|---|---|
| A | 65 | 41 | 0100 0001 |
| a | 97 | 61 | 0110 0001 |
| 0 | 48 | 30 | 0011 0000 |
コンピューターは文字を番号(文字コード)で扱います。表は ASCII(アスキー)の例です。Webページの色 #FF8800 は、赤 FF = 255、緑 88 = 136、青 00 = 0 を16進数で並べたものです。
英語では?
2進数は binary、8進数は octal、10進数は decimal、16進数は hexadecimal(hex)です。プログラムでは 0b1011(2進数)、0o17(8進数)、0xFF(16進数)のように頭に記号をつけて書くことがあります。
練習問題(答えつき)
- 1101₂ を10進数に → 13
- 45 を2進数に → 10 1101₂
- 2F₁₆ を10進数に → 47
- 200 を16進数に → C8₁₆
上のツールに入れて答えを確かめられます。
よくある質問
16進数の A〜F は何を表しますか?
10〜15 を表します。A = 10、B = 11、C = 12、D = 13、E = 14、F = 15 です。小文字の a〜f でも入力できます。
0x や 0b がついた数も入力できますか?
はい。16進数の 0xFF、2進数の 0b1011 のような書き方も、そのまま入力できます。
どれくらい大きな数まで変換できますか?
64桁までです。64ビットの最大値(16進数で FFFFFFFFFFFFFFFF)も正確に変換できます。
マイナスの数や小数は変換できますか?
マイナスの整数は、符号をつけたまま変換します(-1A など)。小数の変換には対応していません。
2進数がスペースで区切られているのはなぜ?
読みやすくするために4桁ごとに区切っています。2進数の4桁は16進数の1桁にあたります。