本記事では基本情報技術者試験の基数変換について書いてあります。
目次は以下の通りです。
基数変換の前準備
基数変換に入る前準備としてn進法について説明します。
そもそもn進法とは?
そもそもn進法とはなんでしょう?n進法は、基数(radix)がnである数の表現方法です。通常、我々は10進法を使って数を表現します。これは、0から9までの10個の数字を使用して数を表す方法です。しかし、コンピューターや情報技術では、2進法(binary, 基数2)や16進法(hexadecimal, 基数16)など、他の進法も使用されます。
表記方法
n進法で数を表すときは右下にnを付けます。例えば10進法で19を表すときは(19)10、2進法で11を表すときは(11)2という流れです。
10進法とは?
10進法は、私たちが日常的に使っている数字の表記方法です。0から9までの数字を使い、10進数で数値を表します。
2進法とは?
2進法は、コンピューターシステムで広く使用される数字の表記方法です。2つの数字、0と1を使い、数値を表します。
10進数から2進数
では、本題に入ります。まずは10進数から2進数の基数変換です。
10進数から2進数への変換のステップ
10進数から2進数への変換は、次のステップに従います。
- 10進数を2で割り、商と余りを求めます。
- 商をさらに2で割り、再び商と余りを求めます。
- このプロセスを繰り返し、商が0になるまで続けます。
- 求めた余りを逆順に並べることで、2進数を得ることができます。
例題
10進数 42 を2進数に変換する場合を考えましょう。
解説:
42 ÷ 2 = 21 (余り 0)
21 ÷ 2 = 10 (余り 1)
10 ÷ 2 = 5 (余り 0)
5 ÷ 2 = 2 (余り 1)
2 ÷ 2 = 1 (余り 0)
1 ÷ 2 = 0 (余り 1)
これらの余りを逆順に並べると、(101010)2となる。
2進数から10進数
つづいては2進数から10進数の基数変換です。
2進数から10進数への変換のステップ
2進数から10進数への変換は、以下のステップに従います。
- 2進数の各桁を、右から左へ順番に取り出します。
- 各桁の値に、2の冪乗を掛けて求めます。右端の桁から順に、1桁目は20、2桁目は21、3桁目は22、と続きます。
- 各桁の値を計算した後、それらの値を合計します。これが2進数から10進数への変換結果です。
例題
2進数「1010」を10進数に変換する場合を考えましょう。
解説:
1×23 + 0×22 + 1×21 + 0×20
=8 + 0 + 2 + 0=10
したがって、(10)10となります。
問題に挑戦してみよう
次の問題を解いてみてください。
練習問題
- 10進数 53 を2進数に変換してください。
- 10進数 123 を2進数に変換してください。
- 2進数「1101」を10進数に変換してください。
- 2進数「100110」を10進数に変換してください。
解答解説
- 10進数 53 を2進数に変換する場合:
53 ÷ 2 = 26 (余り 1)
26 ÷ 2 = 13 (余り 0)
13 ÷ 2 = 6 (余り 1)
6 ÷ 2 = 3 (余り 0)
3 ÷ 2 = 1 (余り 1)
1 ÷ 2 = 0 (余り 1)
これらの余りを逆順に並べると、(110101)2となる。
- 10進数 123 を2進数に変換する場合:
123 ÷ 2 = 61 (余り 1)
61 ÷ 2 = 30 (余り 1)
30 ÷ 2 = 15 (余り 0)
15 ÷ 2 = 7 (余り 1)
7 ÷ 2 = 3 (余り 1)
3 ÷ 2 = 1 (余り 1)
1 ÷ 2 = 0 (余り 1)
これらの余りを逆順に並べると、(1111011)2となる。
- 2進数「1101」を10進数に変換する場合:
1×23 + 1×22 + 0×21 + 1×20
=8 + 4 + 0 + 1=13
したがって、(13)10となります。
- 2進数「100110」を10進数に変換する場合:
1×25+ 0×24 + 0×23 + 1×22+ 1×21+ 0×20
=32 + 0 + 0 + 4 + 2 + 0=38
したがって、(38)10となります。
まとめ
本記事は基数変換の基本である10進数から2進数および2進数から10進数の変換について例題を交えながら解説しました。練習問題をたくさん解いてこの手法を習得しましょう。
コメント