左から計算して二進数を十進数にする
二進数を十進数に変換するには二進数の一桁ごとの重みを足し算するといった方法をとると思います。
今回は二進数を左側から計算して十進数にする方法を紹介します。
解き方
例えば 0110 0101 という二進数があるとします。
0110 0101
これを十進数にしたいわけですが、まずは一番左側の1を見ます(2の負数ならその隣から)、そして次のルールに基づいた計算をします。
- 今見ている数値の右側が0なら二倍する
- 数値の右側が1なら二倍して1足す
一番左側の1(下の図で赤)の隣は1(緑)です、先ほどのルールに基づき1x2+1という計算をします。結果は3です。
0110 0101
1x2+1=3
さらにその隣は0(下の図で赤)です、今度は3x2=6となります。
0110 0101
3x2=6
あとはこれの繰り返しです。次は0なので6x2=12、つぎは1なので12X2+1=25、次は0なので25x2=50、最後は1なので50x2+1=101となります。
0110 0101
6x2=12
0110 0101
12x2+1=25
0110 0101
25x2=50
0110 0101
50x2+1=101
結果 0110 0101 は十進数で 101 となります。暗算が得意な人ならすぐできると思います。
終わりに
実はこの内容は別のホームページとyoutubeチャンネルで作っていました。そのホームページもチャンネルも誰も見てくれず再生回数も全く伸びなかったのでやめてしまいました。
その時の内容を作り直してここに書きました。