コンピュータは私たちが普段使っている10進数ではなく、2進数で情報を扱っています。
情報Iでは2進数に関する問題が多く出てくるので10進数↔︎2進数の変換ができるようにしておきましょう!
共通テストでもこの計算ができないと解けない問題もあります!
共テ対策の人も、定期テスト対策の人もしっかり覚えておきましょう!
10進数を2進数にする(整数)
元の数を2で割ったあまりを出していく
試しに19を2進数に直してみましょう。
上の筆算をみてください。
19を2で割って9余り1
9を2で割って4余り1
4を2で割って2余り0
2を2で割って1余り0
と19の下に筆算のように書いていきます。
するとなんということでしょう!
欲しかった2進数が最後の商と、あまりのところに出てきています!
これを矢印の方向に下から書けば見事2進数への変換は終わりです。
整数の10進数→2進数変換は筆算で考えれば超簡単!
10進数を2進数にする(少数)
さて、ここからは少数部分の話をします。
整数部分は2で割り算をして、筆算を下から読めば答えが出ましたが、少数の場合は少し面倒です。
下のイメージを見てください。
10進数の場合、0.1というのは1/10、0.01というのは1/100 = 1/102でしたね。
2進数の場合は0.1が1/2、0.01が1/4=1/22 になります。
では、0.8125を例に見てみましょう
変換のステップは
❶少数第n位は1/2nと比べて大きければ1(小さければ0)
❷1にした場合は元の数から1/2nを引く
これを繰り返し最後
❸ステップ❶でピッタリになったら終了させます
少し難しいと感じるかもしれませんが、何問か練習すればできるようになると思います!
頑張りましょう。
少数は1/2n と比べて大きいかどうかで各位が1か0を決めていこう
2進数を10進数にする
10進数に直すときには筆算などは必要ありません。
まず、小学校1年生の時に頭を戻してみてください。
算数の時間に
「753は100が7個と、10を5個と1を3個合わせたものです」
みたいな問題があったと思います。
これは言い換えると753 = 7 × 102 + 5 × 101 + 3 × 100 と表すことができます。
2進数でも同じことをやります。
例えば10110を10進数に直してみましょう
10110(2) = 1 × 24 + 0 × 23 + 1 × 22 + 1 × 21 + 0 × 20
= 1×16 + 0×8 + 1×4 + 1×2 + 0×1
= 16 + 0 + 4 + 2 + 0
= 22
どうでしょう?
10進数と同じ考え方で導けたのではないでしょうか?
少数部分についても同じです。
先ほども述べたように2進数の場合は0.1が1/2、0.01が1/4=1/22 になります。
例えば、0.1101の場合は
0.1101 = 1/21 × 1 + 1/22 × 1 + 1/23 × 0 + 1/24 × 1
= 0.5×1 + 0.25×1 + 0.125×0 + 0.0625
=0.8125
2進数の各位が2nであることに注目して、1のものだけを足していこう!
2進数の計算は情報では必須なのでしっかり覚えましょう!
(数学でもどうせ出てくるので覚えちゃえば一石二鳥です)
ではまた!