2進数と10進数の相互変換は、コンピュータサイエンスの基礎的な概念の一つです。この記事では、2進数を10進数に変換する方法と、10進数を2進数に変換する方法について詳しく解説します。
2進数と10進数とは
2進数(Binary)は、0
と1
の2つの数字だけを使用する数の表現方法です。コンピュータは内部で2進数を使用してデータを処理します。
10進数(Decimal)は、私たちが日常で使用している数の表現方法で、0
から9
までの10種類の数字を使います。
2進数を10進数に変換する方法
2進数を10進数に変換するためには、各ビット(2進数の桁)を、そのビットが持つ重み(2の冪乗)に基づいて計算し、それらを合計します。
例: 2進数 1011 を10進数に変換
2進数 1011
の各ビットの値と位置は次の通りです:
1 0 1 1
2^3 2^2 2^1 2^0
このビット列は、次のように重みを持っています:
- 最左端の
1
: 2^3 = 8 - 次の
0
: 2^2 = 0 (無視) - 次の
1
: 2^1 = 2 - 最右端の
1
: 2^0 = 1
これらを合計すると、8 + 0 + 2 + 1 = 11
です。したがって、2進数 1011
は10進数で 11
に相当します。
10進数を2進数に変換する方法
10進数を2進数に変換するには、その数を2で割り続けて、余りを記録し、逆順に並べます。
例: 10進数 13 を2進数に変換
13
を2進数に変換するには、次の手順を行います:
- 13 ÷ 2 = 6 余り 1
- 6 ÷ 2 = 3 余り 0
- 3 ÷ 2 = 1 余り 1
- 1 ÷ 2 = 0 余り 1
余りを逆に並べると 1101
となります。したがって、10進数 13
は2進数で 1101
です。
実際に変換を行ってみよう
2進数から10進数に変換する例
11010
→ (1 × 2^4) + (1 × 2^3) + (0 × 2^2) + (1 × 2^1) + (0 × 2^0) = 16 + 8 + 0 + 2 + 0 = 26
10進数から2進数に変換する例
45
→ 45 ÷ 2 = 22 余り 1 → 22 ÷ 2 = 11 余り 0 → 11 ÷ 2 = 5 余り 1 → 5 ÷ 2 = 2 余り 1 → 2 ÷ 2 = 1 余り 0 → 1 ÷ 2 = 0 余り 1 →101101
まとめ
- 2進数を10進数に変換: 各ビットの値をその重み(2の冪乗)で掛け算し、すべてを足し合わせる。
- 10進数を2進数に変換: その数を2で割り続け、余りを記録し、逆順に並べる。
このプロセスを理解することで、コンピュータ内部の数値処理についても理解が深まります。ぜひ、いろいろな数字で変換を試してみてください。