2進数から10進数への変換
(編集者:ゆみかyumika_tororo.icon)
2進法の流れについては、2進法の流れで説明した。このページでは2進数から10進数への変換の仕方について説明していこう。 2進数と10進数の対応の仕方については、次の表の通りである。
table:10進数・2進数の対応表
10進数 2進数
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111
では、なぜこうなるのか
まず始めに数の仕組みについて知っていこう。
数字には、桁の重みというものが存在する。
例えば、10進法では右の桁から「1の位」「10の位」「100の位」と名前がついている。
これは各桁の重さを表しているのである。10進法では左に一つ行くにつれて桁の重みが10倍になっていく。
そして、それぞれの桁にいくつ数字が立っているかで数を求めている。
https://gyazo.com/897bab0e664ea712321b0bcb79ee9f4d
123を例に出して考えてみよう。
上の画像のように、桁の重さが1のところには3が、10のところには2が、100のところには1がある。
そして、桁の重さと、立っている数字をかけて合計することで123が出てくるという仕組みだ。
2進法も同じである。
各桁に重みがあり、一番右の桁が1の重さを持っている。左に一つ行くにつれて重みが増えていく。
ただし、2進法では10倍ではなく、2倍になっていく。つまり、右から「1,2,4,8,16」となる。
このことからn桁目は2のn乗であるといえる。
そして、10進法と同じく、どんな桁の重さに数字が立っているかで数を求める。
https://gyazo.com/fe1998e09d7718b433e023ebca2aae0f
2進数1101を例にして考えよう。各桁の重みがあり、右から「1,2,4,8」と進んでいく。
1と4と8の重さのところに1が立っているのがわかるだろうか。あとは簡単。
1が立っているところの桁の重さを足していくだけである。
そしてなんと、この仕組みを理解するだけで2進数から10進数への変換が可能になる。
この練習問題では、2の累乗を知っておくと少し楽になるだろう。