整数の性質|n進法について
今回はn進法について学習しましょう。日常的に用いられているのは10進法です。ですから、2進法や5進法などで表された数の扱いには慣れていないので、意外と間違えやすい単元です。
そうは言っても、取扱いに慣れてしまえば、得点源にできる単元です。十分に演習をこなして準備しておきましょう。
n進法の単元で学習すること
この単元では、以下のような事柄を学習します。
n進法の単元で学習すること
- n進法について
- 記数法の変換
- n進法の小数
- n進数の四則計算
- n進数の各位の数と記数法の決定
- n進数の桁数
- 有限小数・無限小数、分数の小数表示と記数法
ここでは、記数法の変換までを紹介し、残りは次回以降に紹介します。
n進法について
n進法の基本事項
この単元で覚えておきたい用語とその定義です。
n進法の基本事項
- n進法…位取りの基礎をnとして数を表す方法のこと。
- n進数…n進法で表された数のこと。
- 底…位取りの基礎となる数nのこと。
- 底が満たす条件…2以上の整数。
- n進数の各位の数字が満たす条件…0以上n-1以下の整数。
特に、底や各位の数字が満たす条件は、数を決定するために用いられるので、きちんと覚えておきましょう。
また、n進数の表し方にはルールがあります。n進数では、底を明らかにするために、その数の右下に(n)と書くルールになっています。ただし、10進法では、普通(10)を省略します。
n進数の表し方
$2$ 進数 $\cdots \ 100_{(2)} \ , \ 234_{(2)}$
$10$ 進数 $\cdots \ 100 \ , \ 234$(底を省略して良い)
10進数以外では底を記述することになっているので、書き忘れないようにしましょう。ここまでがn進法の基本事項です。
位取り記数法
数を表すとき、通常、位取りの基礎を10とする10進法が用いられています。位取りとは、数の位(=けた)を定めることや、その定め方のことです。
たとえば、10進数で表された数12345では、基礎とした10を用いて位取りしています。底の10は基礎となる数なので、基数と言われることもあります。
10進数12345は10を用いて位取り
\begin{align*} 12345=1 \cdot 10^{4} + 2 \cdot 10^{3} + 3 \cdot 10^{2} + 4 \cdot 10^{1} + 5 \cdot 10^{0} \end{align*} \begin{align*} &1 \cdot 10^{4}& + \quad &2 \cdot 10^{3}& + \quad &3 \cdot 10^{2}& + \quad &4 \cdot 10^{1}& + \quad &5 \cdot 10^{0} \\[ 7pt ] &{\scriptsize{\text{$10^4$ の位}}}& &{\scriptsize{\text{$10^3$ の位}}}& &{\scriptsize{\text{$10^2$ の位}}}& &{\scriptsize{\text{$10^1$ の位}}}& &{\scriptsize{\text{$10^0$ の位}}} \end{align*}上の位から数字を抜き出して並べると $12345$
10の累乗ごとに位が定められ、指数が大きくなるほど上の位となります。各位の数字は、上の位から順に、左から右へ並べられます。
また、各位の数字は0以上9以下の整数で、これは整数を10で割った余りの種類と同じです。
10進数で12345と書かれた整数について
$12345$ は各位の数字の配列を表しており、実際には
\begin{align*} \quad 1 \cdot 10^{4} + 2 \cdot 10^{3} + 3 \cdot 10^{2} + 4 \cdot 10^{1} + 5 \cdot 10^{0} \end{align*}を意味する。
これと同じようにして、n進数も表せます。一般にnを2以上の整数とするとき、0以上の整数は、すべて以下の形で表すことができます。
n進数はnを用いて位取り
\begin{align*} a_{k} \cdot n^{k} + a_{k-1} \cdot n^{k-1} + \cdots \cdots + a_{2} \cdot n^{2} + a_{1} \cdot n^{1} + a_{0} \cdot n^{0} \end{align*}( $a_{0} \ , \ a_{1} \ , \ a_{2} \ , \ \cdots \cdots \ , \ a_{k-1} \ , \ a_{k}$ は $0$ 以上 $n-1$ 以下の整数、$a_{k} \neq 0$ )
これを10進数と同じようにakak-1……a2a1a0 のような数字の配列で、n進数を表します。この方法を位取り記数法と言います。
n=10のときが10進法、n=2のときが2進法と呼ばれる表し方になります。
n進数のまとめ
$n$ を $2$ 以上の整数とする。
$n$ 進法で
\begin{align*} \quad a_{k} \ a_{k-1} \ \cdots \cdots \ a_{2} \ a_{1} \ a_{0} \end{align*}と書かれた $k+1$ 桁の正の整数は
\begin{align*} \quad a_{k} \cdot n^{k} + a_{k-1} \cdot n^{k-1} + \cdots \cdots + a_{2} \cdot n^{2} + a_{1} \cdot n^{1} + a_{0} \cdot n^{0} \end{align*}の意味である。
ただし
\begin{align*} \quad a_{0} \ , \ a_{1} \ , \ a_{2} \ , \ \cdots \cdots \ , \ a_{k-1} \ , \ a_{k} \end{align*}は $0$ 以上 $n-1$ 以下の整数、$a_{k} \neq 0$
以上のことから分かるのは、日常的に用いられている10進数は、あくまでも各位の数字の配列だということです。
数字の配列で四則計算ができるのかと疑問に思うでしょうが、繰り上げや繰り下げなどのルールがあるおかげで、問題なく四則計算できます。位取り記数法はすごい仕組みだと個人的には思います。
また、10進法の小数について、小数点以下の位は以下のように定められています。
10進数の小数:小数点以下の位
$10$ 進数の小数について、小数点以下の位は以下のように定められている。
\begin{align*} \quad \text{$\frac{1}{10^{1}}$ の位} \ , \ \text{$\frac{1}{10^{2}}$ の位} \ , \ \text{$\frac{1}{10^{3}}$ の位} \ , \ \cdots \cdots \end{align*}これと同じように、n進法の小数について、小数点以下の位は以下のように定められています。
n進数の小数:小数点以下の位
$n$ 進数の小数について、小数点以下の位は以下のように定められている。
\begin{align*} \quad \text{$\frac{1}{n^{1}}$ の位} \ , \ \text{$\frac{1}{n^{2}}$ の位} \ , \ \text{$\frac{1}{n^{3}}$ の位} \ , \ \cdots \cdots \end{align*}なお、小数については「分数と小数」の単元で詳しく紹介します。
記数法の変換
最も基本的な問題として、記数法の変換を扱った問題が出題されます。10以外を底とする数に変換するには、底とした数を用いて位取りすれば良いです。
たとえば、23を2進数に変換してみましょう。底が2であるので、23を2で位取り、すなわち2の累乗を用いて表します。
10進数から2進数への変換
\begin{align*} \quad 2^{4}=16 \ , \ 2^{2}=4 \ , \ 2^{1}=2 \ , \ 2^{0}=1 \end{align*}より
\begin{align*} \quad 23 = 1 \cdot 2^{4} + 0 \cdot 2^{3} + 1 \cdot 2^{2} + 1 \cdot 2^{1} + 1 \cdot 2^{0} \end{align*}よって、$23$ を $2$ 進法で表すと
\begin{align*} \quad 10111_{(2)} \end{align*}23を2の累乗に分解して表します。すると各位の数字が分かります。各位の数字を並べたものが10進数から変換した2進数です。
しかし、このやり方だとかなり面倒な作業になります。この面倒な作業を少しでも簡単に行えるのが、次に紹介する方法です。この方法の手順を覚えてしまえば機械的に変換できます。
10進数をn進数で表す方法
- 商が0になるまでnで割る割り算を繰り返す。
- 出てきた余りを逆順に並べる。
素因数分解と同じように下に割り算していきます。割る数はずっと底のままです。
また、変換するには底で割った余りを用いるので、余りを書き残しておきます。先程の23をこの方法で2進数に変換してみます。
底の2で割ったときの商を下に、余りを商の横に書いていきます。商が0になったら終了です。
なお、教材によっては、余りが割る数よりも小さくなったら終了とする場合もあります。
この場合、最後の商を先頭にして余りを逆順に並べます。慣れてくると、こちらの方がやりやすいかもしれません。
この方法では、最後の商を忘れないようにしましょう。
次はn進法を扱った問題を実際に解いてみましょう。