【基本】n進法

ここでは、整数に関連する事柄として、n進法について見ていきます。

【広告】

10進法

僕たちが普段生活している中で見かける「数」は、ほとんどが10を基本とする10進法(decimal system) が用いられています。0から9までの数字を用いて、いろいろな数を表します。

10進数で書かれている 5678 という数について、改めて考えてみましょう。「10進数で」と書いていますが、これは今まで普通に使っている書き方のことなので、新しいものを考えているわけではありません。 5678 というのは、各桁で分解すると、「千の位が5、百の位が6、十の位が7、一の位が8」と言えます。これを式で書けば、次のように表現できます。\[ 5\times 10^3+6\times 10^2+7\times 10^1+8\times 10^0 \]なお、 $10^0$ は $1$ となります。これは、 $10^k$ の $k$ の部分が1減るたびに、10分の1になっていることからわかると思います。

数を表す方法は、10進法以外にもあります。10進法以外でよく使われるのが、次で紹介する2進法です。

2進法

「コンピュータの世界では、2進法が使われている」という話を聞いたことがある人も多いでしょう。コンピューターの内部では、オンとオフの2種類、つまり、1と0の2種類で数を扱っています。

10進法では、 $10^k$ の位を用いて数を表現していましたが、 $2^k$ の位を用いて数を表現する方法を、2進法(binary system) といいます。この2進法の世界では、いろんな数を、0と1の2種類で表現します。例えば、2進数で表された 1011 という数字は、10進数で表すと\[ 1\times 2^3+0\times 2^2+1\times 2^1+1\times 2^0 \]の意味になります。10進法と形をまねています。これを計算すれば 11 となるので、「2進法で表された 1011 は、10進法の 11 に対応する」ことがわかります。

「1011」とだけ書いても、これが2進法で書かれた数字なのか、10進法で書かれた数字なのかは見分けがつきません。なので、通常、2進法で書かれたことを表すために、\[ 1011_{(2)} \]と $(2)$ を右下につけて表現します。10進法の場合も、厳密にいうと $1011_{(10)}$ と書くべきですが、通常、10進法の場合は $(10)$ は省略されます。何も書いていなければ、10進法で書かれた数字だ、と解釈します。

【広告】

n進法

10進法以外でよく使われるものは2進法ですが、他のケースを考えることもできます。 $n$ が2以上の自然数のとき、 $n^k$ の位を用いて数を表す方法を $n$ 進法(base-n system) といいます。例えば、 $1234_{(5)}$ というのは、10進法で表すと\[ 1\times 5^3+2\times 5^2+3\times 5^1+4\times 5^0 \]となり、194を表していることがわかります。 $n$ 進法で表された数であることがわかるように、 $(n)$ を右下につけて表します。

$n$ 進法で表された数を $n$ 進数といい、この $n$ のことを、底(てい)といいます。基数ということもあります。

16進法

$n$ が2以上10以下の自然数であれば、 $n$ 進法で数を表す場合、 $0$ から $n-1$ までの整数を用いることになります。例えば、3進法なら、0,1,2 の3種類、8進法なら、0~7の8種類です。

数学の問題では、 $n$ が10より大きい場合はほとんど出てこないのですが、例えば、コンピュータで色を扱う場合には、16進法(hexadecimal system) が使われる場合があります。16進法では、16種類の数でいろんな数を表現することになるのですが、0から9までだと種類が足りませんね。

そこで、16進法の場合は、0から9までの整数に加え、AからFまでの6種類の文字を使って表します。Aが10進法でいう10、Bが11、Fが15を表します。10進法でいう 16 は、16進法では $10_{(16)}$ で表されることになります。

なので、CC$_{(16)}$ というのは、10進法で表すと、\[ 12\times 16^1+12\times16^0 \]を表し、204となります。

おわりに

ここでは、 $n$ 進法について見てきました。 $n$ 進法で整数を表すとどうなるか、それを10進法で書き直すとどうなるか、というのを見てきました。逆に、10進法の数を $n$ 進法で書き直す場合や、整数ではなく小数を扱う場合などについては、別の機会に見ていきます。