公務員試験のための数学ワークブック

 公務員試験の一般知能分野、教員採用試験等の一般教養分野の数学に限定して説明しています。より本格的に復習されたい方は、本編の 高校数学 をご覧ください。

vol.6 記数法

 このワークブックもいよいよ終盤に差し掛かってきました.今回のテーマは「記数法」です.数について,私たちに最も馴染み深いのは10進法です.これは,0~9までの10個の数を使って表現した数です.つまり10個をひとまとまりと考えるような数のことです.しかし数の表し方は,10進法だけではありません.例えば,コンピュータは0と1しか使わない2進法を採用していますし,時計の分や秒は60進法を使って表されています.(もっとも,60種の異なる文字を使っているわけではありませんが.)
 一般知能では,数的推理はもちろん,判断推理の暗号問題などでも記数法が登場します.ポイントは,10進法からp進法への変換,あるいは逆に,p進法から10進法への変換ですが,いずれも簡単ですぐに習得できます.特に断らない限り,今回扱う数字は全て正の整数であるとします.

1. p進法 → 10進法

 0, 1, 2, $\cdots, p-1$ の $p$ 個の数を使って数を表す方法を,$p$ 進法といいます.$p-1$までですから,$p$ そのものは含まれないことに注意してください.例えば,4進法において使われる数は,$0,\,1,\,2,\,3\ $の4つで,4は含まれていません.
 さて,まずp進法から10進法への変換をみていきましょう.

例題 次の数を10進法に変換しなさい.
$(1)\ (11010)_2      (2)\ (543)_7$

こたえ

  • 246の2は,100が2個あるという意味である.
  • 246の4は,10が4個あるという意味である.
  • 246の6は,1が6個あるという意味である.

となっています.これを書きかえると,

  • 246の2は,$10^2\,$が2個あるという意味である.
  • 246の4は,$10^1\,$が4個あるという意味である.
  • 246の6は,$10^0\,$が6個あるという意味である.

となります.これらを全部足した数,すなわち,

\[ 2\times10^2+4\times10^1+6\times10^0 \]

が246であるといえます.冒頭でも述べたように,10進法とは,10個をひとまとまりと考える数ですから,10個集まるごとにひとまとめにし,またそれらまとめたものが10個集まったらさらにそれらをひとまとめにする,といった具合にどんどん考えていく数です.

 10進法以外の数についても全く同じです.$p$ 進法は,$p$ 個をひとまとまりと考える数ですから,$p$ 個集まるごとにひとまとめにし,まとめたものが $p$ 個集まればまたそれらをひとまとめにする,といったように考えます.従って,10進法では小さい位から(右から)順に,

\[ 10^0,\ 10^1,\ 10^2,\ 10^3,\ 10^4,\ \cdots\]

がそれぞれ何個あるかを示しますが,全く同様に,$p$ 進法では,小さい位から(右から)順に,

\[ p^0,\ p^1,\ p^2,\ p^3,\ p^4,\ \cdots \]

がそれぞれ何個ずつあるのかを示しています.

(1) カッコの外の添え字 $p$ は,その数が $p$ 進法で表されていることを示します.従って,この数は2進法で表された数です.2進法は小さい位から順に,
[ 2^0,\ 2^1,\ 2^2,\ 2^3,\ 2^4,\ \cdots]
が何個あるかを表しています.よって,

  • $\,(11010)_2$の左から1番目の1は,$2^4\,$が1個あるという意味である.
  • $\,(11010)_2$の左から2番目の1は,$2^3\,$が1個あるという意味である.
  • $\,(11010)_2$の左から3番目の0は,$2^2\,$が0個あるという意味である.
  • $\,(11010)_2$の左から4番目の1は,$2^1\,$が1個あるという意味である.
  • $\,(11010)_2$の左から5番目の0は,$2^0\,$が0個あるという意味である.

ということを表していますから,

\[\begin{align*} (11010)_2 &= 1\times2^4+1\times2^3+0\times2^2+1\times2^1+0\times2^0\\ &=16+8+0+2+0\\ &=(26)_{10}\ \cdots(\mbox{答}) \end{align*}\]

となります.

(2) 全く同様に考えます.

  • $\,(543)_7$の左から1番目の5は,$7^2\,$が5個あるという意味である.
  • $\,(543)_7$の左から2番目の4は,$7^1\,$が4個あるという意味である.
  • $\,(543)_7$の左から3番目の3は,$7^0\,$が3個あるという意味である.

よって,

\[\begin{align*} (543)_7 &= 5\times7^2+4\times7^1+3\times7^0\\ &= 5\times49+4\times7+3\times1\\ &= 245+28+3\\ &= (276)_{10}\ \cdots(\mbox{答}) \end{align*}\]

となります.

 一般に,次のことが成り立ちます.

$p$ 進法で書かれた数が,
\[(a_1a_2a_3\,\cdots\,a_n)_p   (\mbox{すぐ下の(注)参照)}\] のとき,これを10進法で表した数$\,N\,$は, \[ N = a_1\cdot p^{n-1}+a_2\cdot p^{n-2}+\cdots+a_{n-1}\cdot p+a_n\]

(注) $(a_1a_2a_3\,\cdots\,a_n)_p$は, \[ a_1\times a_2\times a_3\times\,\cdots\,\times a_n \] を意味するではなく,単なる数字の羅列を意味しています.

演習問題1 次の数を$10$進法に変換しなさい.

$(1)\ (3102)_5      (2)\ (123)_{12}$

こたえ

2. 10進法 → p進法

 次に10進法からp進法への変換をみていきましょう.

例題   次の数を指示に従って変換しなさい.
(1) $(26)_{10} (2$進法に)  (2) $(276)_{10}$ (7進法に)

こたえ

 10進法からp進法への変換もほとんど機械的です.基本は,10進法の数をpでどんどん割っていき,各割り算で出た余りを記録する,というものです.

(1) 2進法で表したいわけですから,26を2でどんどん割っていきます.
その際,出た余りを横に書いておきます.

\[\begin{align*} & 2\underline{ )\ 26\ }\\[5pt] & 2\underline{ )\ 13\ }\cdots\ 0\\[5pt] & 2\underline{ )\ \ 6\ }\cdots\ 1\\[5pt] & 2\underline{ )\ \ 3\ }\cdots\ 0\\[5pt] & \hspace{6mm} 1\ \cdots\ 1 \end{align*}\]

 そして,最後の商の1も含めて下から順に余りを書き出します.

$11010\ \cdots$(答)

(2) (1)と同様ですが,今度は7進法に表現したいわけですから,276を
どんどん7で割っていきます.

\[\begin{align*} & 7\underline{ )\ 276\ }\\ & 7\underline{ )\ \ \ 39\ }\cdots\ 3\\ & \hspace{9mm} 5\ \cdots\ 4\\ \end{align*}\]

 よって,最後の商の5も含めて下から順に余りを書き出して,

$ 543 \ \cdots$ (答)

 (1)(2)とも,Section1で求めた結果と矛盾しいないことを確かめてください.

演習問題2 次の数を,指示に従って変換しなさい.

(1) $(402)_{10}$  (5進法に)  (2) $(171)_{10}$  (12進法に)

こたえ

3. 記数法の演算

 それでは次に,10進法以外の四則演算,あるいは,異なる記数法で表された数の四則演算をみていきましょう.

3.1 10進法以外の足し算・引き算

「10進法以外の」といっても,一般のp進法において,$p=10\,$のときが10進法ですから,大体の計算方法は同じです.まずは足し算・引き算からみていきましょう.

例題 次の計算をしなさい.
(1) $(123)_7+(446)_7$  (2) $(233)_5-(134)_5 $

こたえ

 足し算,引き算については,ほとんど10進法と同じです.注意すべき点は,p進法においては,p個集まったら位を1つ上げるということです.

(1)まず普通に筆算の形式で書きます.

\[\begin{array}{rr} &123\\ +)&446\\\hline \end{array}\]

 次に,10進法の計算と同様に,一番小さい位からみていきます.

\[3+6=9\]

ですが,7進法では7個集まったらそれをひとまとめにして1つ位を上げるのでしたから,

\[9-7=2\]

 よって,2だけを下に書いておいて,1つ繰り上げます.

\[\begin{array}{rr} &123\\ +)&446\\\hline &^12 \end{array}\]

 この後は同様の作業の繰り返しです.次の$7^1$の位は,$7^0$の位からの繰り上がり1があることに注意して,

\[ 2+4+1=7\]

 この場合も,7が1セット取れますから,

\[7-7=0\]

 よって,0だけを下に書いておいて,1つ繰り上げます.

\[\begin{array}{rr} &123\\ +)&446\\\hline &^102 \end{array}\]

 最後は,$7^2$の位です.

\[1+4+1=6\]

 6からは7個のまとまりが取れませんから,そのまま下に書いて出来上がりです.

\[\begin{array}{rr} &123\\ +)&446\\\hline &602 \end{array}\]

 以上より,

$(123)_7+(446)_7=(602)_7\ \cdots$ (答)

となります.

(2) 引き算も,足し算と同様に求めることができます.まず一番小さい位からみていきます.

\[3-4<0\]

ですから,すぐ上の位から1つ借りてこないといけません.本問の場合,5進法ですから,すぐ上の位から1つ借りてくるということは,10進法でいうところの数「5」を借りてくることになります.従って,最初のステップでは,

\[ (\underline{5}+3)-4=4 \]

 よって,下に4を書いておきます.

\[\begin{array}{rr} &233\\ -)&134\\\hline &4 \end{array}\]

 次に,$5^1$の位をみていきます.ここでは,$(233)_5$の真ん中の3は,先程1つ貸してあげたので,1つ小さくなって2となります.このあたりの考え方も,まるっきり10進法のときと同じです.そこで,$5^1$の位を計算してみると,

\[ (3-1)-3<0 \]

となって,またひとつ上の位から,1つ借りてこないといけません.先程と同じようにやりましょう.

\[ (\underline{5}+2)-3=4 \]

よって,4だけ下に書きます.

\[\begin{array}{rr} &233\\ -)&134\\\hline &44 \end{array}\]

 最後に$5^2$の位です.233の2は,先程1つ貸してあげたので,1つ減って1となります.

\[ 1-1=0 \]

 よって,この下に0を書いてもしょうがないので,何も書きません.

 以上により,

$(223)_5-(134)_5=(44)_5\ \cdots$ (答)

となります.

3.2 10進法以外の掛け算・割り算

 では次に,10進法以外の掛け算・割り算はどのようにやればよいのでしょうか.掛け算・割り算については面倒でもいったん10進法に変換してから掛け算・割り算を行い,必要に応じてまた元のp進法に変換するという方法を取ったほうが安全です.

 何故なら,普段私たちが10進法の掛け算・割り算を行う際には,「掛け算の九九」というものを利用して計算しています.例えば,

\[\begin{align*} 5\times1 &= 5\\ 5\times2 &= 10\\ 5\times3 &= 15\\ &\vdots \end{align*}\]

などです.もしこれが6進法の掛け算なら,

\[\begin{align*} (5)_6\times(1)_6 &= (5)_6\\ (5)_6\times(2)_6 &= (14)_6\\ (5)_6\times(3)_6 &= (23)_6\\ &\vdots \end{align*}\]

といった具合に,6進法版の5の段を記憶する(その場で計算する)ことをしなければなりません.計算自体はそれほど面倒ではありませんが,私たちは10進法以外の計算に不慣れですから,一度10進法に変換してから計算することをお勧めします.

3.3 異なる記数法での演算

 例えば,

\[ (123)_4+(567)_8 \]

といったような計算は,どちらかに表記を統一して計算を行わなければなりません.こういうケースはやはり2つとも10進法に変換してから計算しましょう.

演習問題3 次の計算をしなさい.ただし(3)は10進法で答えなさい.

$(1) (302)_4+(212)_4 \hspace{12mm} (2) (466)_9-(285)_9$
$(3) (1011)_2\times(2022)_3 \hspace{8mm} (4) (1101)_2\times(101)_2$

こたえ

このページで疑問は解決されましたか?
 こちらから数学に関するご質問・ご要望をお寄せください。


公務員試験のための数学ワークブック