見出し画像

n進法からm進法への変換方法(10→2や2→16など)

今回は、任意の記数法同士を変換する方法を解説します。内容は高校数学(数A)の発展ですが、理屈は中学生でもわかるものだと思います。


n進法での数の表し方

n進法では、次のような規則性によって表されます。
・整数部分の第$${k}$$桁の数は$${n^{k-1}}$$がいくつあるか
・小数第$${l}$$位の数は$${\frac{1}{n^l}}$$がいくつあるか
※ただし$${n^0=1とする}$$

具体例で説明すると、たとえば10進法の12.34は

$$
12.34_{(10)}=1\cdot10^1+2\cdot10^0+3\cdot\frac{1}{10^1}+4\cdot\frac{1}{10^2}
$$

と表すことができます。これは10進法に限ったものではなく任意の記数法でも使えます。例えば2進法の10.01は

$$
10.01_{(2)}=1\cdot2^1+0\cdot2^0+0\cdot\frac{1}{2^1}+1\cdot\frac{1}{2^2}
$$

と表すことができます。$${n>10}$$のときは新しく数字を指定する(A,Bなどとする)必要が出てきますが、基本的に考え方は同じです。

この表し方を使うと、簡単にn進法を10進法の和の形で表せるので、変換も簡単にできます。

n進数→10進数の変換

まずはn進法から10進法への変換です。これは簡単で、先ほどの表し方の右辺をそのまま足すだけです。先ほどの例の$${10.01_{(2)}}$$を10進数に変換してみましょう。まずは先ほどの表し方にします。

$$
10.01_{(2)}=1\cdot2^1+0\cdot2^0+0\cdot\frac{1}{2^1}+1\cdot\frac{1}{2^2}
$$

この形にしたら次に右辺を10進法のやり方で普通に足します。

$$
1\cdot2^1+0\cdot2^0+0\cdot\frac{1}{2^1}+1\cdot\frac{1}{2^2}\\
=2+0+0+\frac{1}{4}\\
=2+0.25\\
=2.25_{(10)}
$$

これで10進数に変換できました。

10進数→n進数の変換

次に10進数→n進数の変換ですが、これは割り算を使います。やり方は下のようになります。(ただしこれは整数の時のみ)

①nで割って余りをメモしておく
②①を割る数が(n-1)以下になるまで繰り返す
③余りと最後の商を割った順番と逆順で並べて完了

例として$${35_{(10)}}$$を3進数に変換してみましょう。

$$
35\div3=11あまり2\\
11\div3=3あまり2\\
3\div3=1(あまり0)\\
最終的な商は1,余りは下から0,2,2なのでつなげると\\
35_{(10)}=1022_{(3)}
$$

n進数→m進数への変換

これは簡単で、下のような方法になります。

①n進数を10進数に変換
②①をm進数に変換

これで任意の記数法同士を変換する方法の説明は終わりです。
最後まで見ていただきありがとうございました!

この記事が参加している募集

#数学がすき

2,917件

この記事が気に入ったらサポートをしてみませんか?