整数の性質|n進法について

数学A

数学A 整数の性質

今回は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進数と同じようにakk-1……a210 のような数字の配列で、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進数で表す方法

  1. 商が0になるまでnで割る割り算を繰り返す。
  2. 出てきた余りを逆順に並べる。

素因数分解と同じように下に割り算していきます。割る数はずっと底のままです。

また、変換するには底で割った余りを用いるので、余りを書き残しておきます。先程の23をこの方法で2進数に変換してみます。

10進数を2進数に変換する方法
10進数から2進数への変換

底の2で割ったときの商を下に余りを商の横に書いていきます。商が0になったら終了です。

なお、教材によっては、余りが割る数よりも小さくなったら終了とする場合もあります。

この場合、最後の商を先頭にして余りを逆順に並べます。慣れてくると、こちらの方がやりやすいかもしれません。

10進数を2進数に変換する方法その2
商が割る数よりも小さくなって終了する場合

この方法では、最後の商を忘れないようにしましょう。

次はn進法を扱った問題を実際に解いてみましょう。