10進数から2進数への変換
(編集者:ゆみかyumika_tororo.icon)
という方は、そのページへ進んでほしい。
さて、10進数から2進数への変換のやり方には二通りある。
一つ目が筆算のような方法である。
まず、2進数に変換したい数を2で割り、商とあまりを出す。ここで求めた商をさらに2で割り、これまた商とあまりを出す。
そしてさらに、商を2で割り…というのを繰り返していき、最終的に、求めてきたあまりを並べることで答えとなる。
ざっくり説明するとこんな感じだ。例をもとに見ていこう。
https://gyazo.com/3117549d3f6cccdfe118ee7775ade309
今回は、25を2進数に変えていく。まず、25を2で割ると、12余り1になる。
ここで出てきた12をさらに2で割ると、6余り0になる。またまた6を2で割ると、3余り0。
3を2で割ると、1余り1。商に1か0が出てきたらそこで計算終了だ。矢印の通りに左から並べていくと答えとなる。
これが、筆算を用いた変換方法だ。
もう一つのやり方は、簡単に言えば、元の数字からひたすら引き算をしていく方法だ。
計算ミスは出てくるかもしれないが、なれるとこちらのほうが早く問題を解くことができる。
今回も25を2進数に変換する体で話を進めよう。
https://gyazo.com/1b3bc8675af2f20a2833c593bf53b37c
まず、紙に左から2の累乗を書いていく。ここで問題なのが、「2の累乗をどこまで書くのか」ということだが、 今回変換したい数は25であるため、32のところに1が立つことはありえない。そのため、16まで書いておけば大丈夫である。
他の数字を変換したいときも、変換したい数字以下の2の累乗を書いていこう。
2の累乗を書き終わったら、本格的な計算だ。まず、変換したい数(今回でいう25)以下の数の中で一番大きい数字のところに1を立てる。なので今回はまず16のところに1を立てる。
https://gyazo.com/273a347440eb011cf6df91a22eaa9349
そうしたら、元の数から立てたところの数を引く。つまり、25-16=9である。
さらに、先ほど出した9以下の数の中で一番大きい数字のところに1を立てる。そう、8のところに1を立てるのである。
https://gyazo.com/f1faae228489db08750ca092c96ce2ea
先ほどと同じように、元の数字から1を立てたところの数を引き9-8=1を行う。
これまた同じように、引き算で出てきた差以下の数の中で一番大きいところに1を立てるのだが、今回はぴったりの数字があるので、そこに1を立てれば大丈夫。
最後に一応引き算をして差が0になったのを確認して計算は終了。
1が立っていないところに0を書き足して、最終的な答えは11001である。
ようは、元の数字に含まれる数のところに1を立てていく計算方式が二つ目の計算方法である。
練習問題が解き終わったら2進数の変換についてはほぼほぼOK。