n進数の変換 どの進数の世界を移動しているのか

数学・情報
数学・情報

$n$ 進数で表記されたある数字を、別の進数での表記に変換するやり方について簡潔にまとめました。

整数部分が3桁、小数部分が3桁の次の数を考えることにします。

\begin{align}
{d_2 d_1 d_0 . d_{-1} d_{-2} d_{-3}}_{(n)} \quad (\text{各}\,i=-3\,,-2\,,\cdots\,,2\,\text{について整数}\,d_i \in [0\,,n-1]) \,.\label{numN}
\end{align}

これは、10進法では次のように表される数です。(=$n$進法から10進法への変換)

\begin{align}
\sum_{i=-3}^2n^i d_i\,.\label{num10}
\end{align}

$n$進法表記\eqref{numN}から10進法表記\eqref{num10}への変換は定義そのものですが、その逆の変換は具体的にどのように計算すればいいでしょうか?

ある数字のn進法表記と10進法表記の変換

この変換を考えるために、10進法で表した数と$n$進法で表した数のそれぞれについて、小数部分と整数部分に分けてみます。

ある数字のn進法表記と10進法表記の変換における整数と小数への分割

10進法における整数部分 $n^2d_2+nd_1+d_0$ を $n$ 進法で表すには、 $n$ で繰り返し割って得られる余りを逆順に並べればいいことが、次の計算からわかります。

同時に、10進法における小数部分 $n^{-1}d_{-1}+n^{-2}d_{-2}+n^{-3}d_{-3}$ を $n$ 進法で表すには、 $n$ を繰り返し掛けて得られる数の整数部分を逆順に並べばいいことが、次の計算からわかります。

最後にこれらの計算結果をまとめれば、求めたかった10進法から$n$進法への変換が完了します。

コメント

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