基本情報技術者試験対策(4)「10進数と2進数の変換(1)」

スポンサーリンク
IT系

これから手作業で10進数を2進数に変換する練習をしよう。

10進数を2進数に変換する

10進数を2進数に変換したり、 2進数を16進数に変換したりすることを基数変換と呼ぶ。
基数(きすう)とは、基準の数という意味である。

10進数の基数は10で、 2進数の基数は2である。 これから、本ブログでも、何回かに分けて10進数、2進数 16進数、8進数、 それぞれの基数変換の手順を示していくことにする。
ここで示す手順をスラスラできるようになるまで、 何度も繰り返し練習してみよう。

まず、10進数を2進数に変換する手順である。これは、2で割った余りを求めることを、商が0になるまで繰り返す 。 これによって、 変換後の2進数が、下位桁から順に得られる。

例を示してみよう。 下図は、 123という10進数を2進数に変換する手順である。 1111011という2進数に変換できた。 1111011は7ビットなので、もしもデータの入れ物が8ビットなら、 上位桁を0で埋めて01111011にする。

割り算の回数商 ÷ 2余り(ビット)説明
1123 ÷ 2 = 6112で割った余り(最下位ビット)
261 ÷ 2 = 301
330 ÷ 2 = 150
415 ÷ 2 = 71
57 ÷ 2 = 31
63 ÷ 2 = 11
71 ÷ 2 = 01(商が0になったので終了)

余りを下から上へ並べる

並び順余り位置
上位 → 下位11110117ビット

ビット数を8ビットにそろえる場合

ビット数2進数表現
7ビット1111011
8ビット(0埋め)01111011

10進数を2進数に変換する仕組み

2で割った余りを求めることを、 商が0になるまで繰り返すことで、10進数 を2進数に変換できる仕組みを説明しよう。 難しそうに思える2進数の仕組みは、我々人間が慣れ親しんだ10進数の仕組みに当てはめて考えてみると、とてもわかりやすくなる。

例えば、 123という10進数を2で割った余りを求めるのではなく、 10で割った余りを求めると、 どうなるだろう。 下図に示すように、 123の下位桁から順に3、 2、 1が得られる。 10進数は、10で桁上がりする数なので、 10で割った余りを求めれば、最下位桁の数字が得られる。 これを繰り 返せば、下位桁から順に1桁ずつ数字が得られる。 同様の仕組みで、2で割った余りを求めることを繰り返せば、2進数の下位桁から順に1桁ずつ数字が得られるのである。

123(10進数)を10で割った余りを求める手順

割り算の回数商 ÷ 10余り説明
1123 ÷ 10 = 1231の位の数字
212 ÷ 10 = 1210の位の数字
31 ÷ 10 = 01100の位の数字(商が0になったので終了)

余りを下から上へ並べる

並び順余り
上位 → 下位1 2 3百の位 → 十の位 → 一の位

参考)情報処理教科書 出るとこだけ!基本情報技術者[科目A][科目B]2025年版

コメント

タイトルとURLをコピーしました