2進数文字列を10進数整数へ変換
2進数文字列を10進数整数へ変換に関する深掘り解説を分かりやすく解説いたします。
基数変換の基本原理は非常にシンプルです。私たちが普段使っている10進数が「10倍ごとに桁が上がる」のに対し、2進数は「2倍ごとに桁が上がる」仕組みを持っています。この各桁が持つ数値を数学用語で「重み(ウェイト)」と呼びます。
2進数から10進数の変換計算方法における決定的な公式は、以下の通りです。
$$\text{10進数の値} = \sum (\text{各桁の数値} \times 2^{\text{桁位置}})$$
例えば、2進数の「1101」を10進数に変換する場合、右端(最下位ビット)から順に $2^0$、$2^1$、$2^2$、$2^3$ の重みを掛け合わせます。
- 4桁目(一番左):$1 \times 2^3 = 1 \times 8 = 8$
- 3桁目:$1 \times 2^2 = 1 \times 4 = 4$
- 2桁目:$0 \times 2^1 = 0 \times 2 = 0$
- 1桁目(一番右):$1 \times 2^0 = 1 \times 1 = 1$
これらをすべて足し合わせると、$8 + 4 + 0 + 1 = \mathbf{13}$ となります。つまり、2進数の「1101」は10進数の「13」です。このように、重みの掛け算と累乗の公式を理解すれば、複雑な数式を使わずとも単純な足し算として処理できます。