2進数から10進数への変換(小数点を含む数)

logic

具体的な例として、\( 1101.1010_{2} \)を10進数に変換します。次の手順で、2進数の\( 1101.1010_{2} \)は、10進数の\(13.625_{10}\)に対応することがわかります。

基数を明確にするために、数値の最後に下付き文字で基数を付加します。例えば、10進数の1という数値は\( 1_{10} \)と表記します。2進数の1という数値は\( 1_{2} \)と表記します。16進数の1という数値は\( 1_{16} \)と表記します。

1. 2進数を2のべき乗形式で表す

\( 1101.1010_{2} \)の各桁の数値(1または0)を、そのまま10進数の数とみなして2のべき乗形式で表します。

\begin{equation}
\begin{split}
1101.1010_{2}
&= 1_{10} \times 2^3_{10} + 1_{10} \times 2^2_{10} + 0_{10} \times 2^1_{10} + 1_{10} \times 2^0_{10} +\\
&1_{10} \times 2^{-1}_{10} + 0_{10} \times 2^{-2}_{10} + 1_{10} \times 2^{-3}_{10} + 0_{10} \times 2^{-4}_{10}\\
&= 1_{10} \times 8_{10} + 1_{10} \times 4_{10} + 0_{10} \times 2_{10} + 1_{10} \times 1_{10} + \\
&1_{10} \times \frac{1_{10}}{2_{10}} + 0_{10} \times \frac{1_{10}}{4_{10}} + 1_{10} \times \frac{1_{10}}{8_{10}} + 0_{10} \times \frac{1_{10}}{16_{10}}
\end{split}
\end{equation}

2. 2のべき乗形式の各桁を計算する

\begin{equation}
\begin{split}
1101.1010_{2}
&= 1_{10} \times 8_{10} + 1_{10} \times 4_{10} + 0_{10} \times 2_{10} + 1_{10} \times 1_{10} + \\
&1_{10} \times \frac{1_{10}}{2_{10}} + 0_{10} \times \frac{1_{10}}{4_{10}} + 1_{10} \times \frac{1_{10}}{8_{10}} + 0_{10} \times \frac{1_{10}}{16_{10}}\\
&= 8_{10} + 4_{10} + 0_{10} + 1_{10} + \frac{1_{10}}{2_{10}} + 0_{10} + \frac{1_{10}}{8_{10}} + 0_{10}
\end{split}
\end{equation}

3. 各桁の数をすべて足す

\begin{equation}
\begin{split}
1101.1010_{2}
&= 8_{10} + 4_{10} + 0_{10} + 1_{10} + \frac{1_{10}}{2_{10}} + 0_{10} + \frac{1_{10}}{8_{10}} + 0_{10}\\
&= 8_{10} + 4_{10} + 0_{10} + 1_{10} + \frac{4_{10}}{8_{10}} + 0_{10} + \frac{1_{10}}{8_{10}} + 0_{10}\\
& = 13 + \frac{5_{10}}{8_{10}} = 13.625_{10}
\end{split}
\end{equation}

タイトルとURLをコピーしました