2進数を10進数に変換する
それでは、2進数を10進数に変換してみよう。 2進数を10進数にする手順は、「各桁の数字に、 桁の重みを掛けて、集計する」 である。 「桁の重み」 とは、 桁の位置が示す数の大きさのことである。
例を示してみよう。下図は、 1111011という2進数を10進数に変換する手順である。 123という10進数に変換できた。
桁(左→右) | 2進数の値 | 2のべき乗(重み) | 計算式 | 結果 |
---|---|---|---|---|
7桁目 | 1 | 2⁶ = 64 | 1 × 64 | 64 |
6桁目 | 1 | 2⁵ = 32 | 1 × 32 | 32 |
5桁目 | 1 | 2⁴ = 16 | 1 × 16 | 16 |
4桁目 | 1 | 2³ = 8 | 1 × 8 | 8 |
3桁目 | 0 | 2² = 4 | 0 × 4 | 0 |
2桁目 | 1 | 2¹ = 2 | 1 × 2 | 2 |
1桁目 | 1 | 2⁰ = 1 | 1 × 1 | 1 |
合計 | 64 + 32 + 16 + 8 + 0 + 2 + 1 | 123 |
2進数を10進数に変換する仕組み
「各桁の数字に、桁の重みを掛けて、集計することで、2進数を 10進数に変換できる」 仕組みを説明しよう。 ここでも、10進数の仕組みに当てはめて考えてみよう。
例えば、456という10進数で、 各桁の数字に、 桁の重みを掛けて、集計すると、 どうだろう。
下図に示したように、 456が得られる。 これは、数というものは、 各桁の数字に、 桁の重みを掛 けて、集計した値を意味しているからです。 456は、100が4つと、10が5つ と、1が6つあり、それらを集計したものである。
桁の位置 (左→右) | 桁の数字 | 桁の重み(10のべき乗) | 計算式 | 結果 |
---|---|---|---|---|
百の位 | 4 | 10² = 100 | 4 × 100 | 400 |
十の位 | 5 | 10¹ = 10 | 5 × 10 | 50 |
一の位 | 6 | 10⁰ = 1 | 6 × 1 | 6 |
合計 | 400 + 50 + 6 | 456 |
数というものが、各桁の数字に、桁の重みを掛けて、集計した値を意味しているのは、2進数でも同じである。 ただし、10進数と2進数では、桁の重みが違う。 10を基数とした10進数では、最下位のが1桁が上がると重みが10倍になる。 したがって、 10進数の桁の重みは、最下位桁から順に、1、10、100、1000、(指数で表すと、 100、101、102、103、………) である。
これと同様に考えて、2を基数とした2進数では、最下位桁の重みが1で、 桁 が上がると重みが2倍になる。 したがって、 2進数の桁の重みは、最下位桁から順に、1、2、4、8、…………… (指数で表すと、20、21、22、23、……) である。
(参考)情報処理教科書 出るとこだけ!基本情報技術者[科目A][科目B]2025年版
コメント