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

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

vol.6 記数法

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

1. p進法 → 10進法

 0, 1, 2, ,p1p 個の数を使って数を表す方法を,p 進法といいます.p1までですから,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は,102が2個あるという意味である.
  • 246の4は,101が4個あるという意味である.
  • 246の6は,100が6個あるという意味である.

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

2×102+4×101+6×100

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

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

100, 101, 102, 103, 104, 

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

p0, p1, p2, p3, p4, 

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

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

  • (11010)2の左から1番目の1は,24が1個あるという意味である.
  • (11010)2の左から2番目の1は,23が1個あるという意味である.
  • (11010)2の左から3番目の0は,22が0個あるという意味である.
  • (11010)2の左から4番目の1は,21が1個あるという意味である.
  • (11010)2の左から5番目の0は,20が0個あるという意味である.

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

(11010)2=1×24+1×23+0×22+1×21+0×20=16+8+0+2+0=(26)10 ()

となります.

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

  • (543)7の左から1番目の5は,72が5個あるという意味である.
  • (543)7の左から2番目の4は,71が4個あるという意味である.
  • (543)7の左から3番目の3は,70が3個あるという意味である.

よって,

(543)7=5×72+4×71+3×70=5×49+4×7+3×1=245+28+3=(276)10 ()

となります.

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

p 進法で書かれた数が,
(a1a2a3an)p   すぐ下の(注)参照) のとき,これを10進法で表した数Nは, N=a1pn1+a2pn2++an1p+an

(注) (a1a2a3an)pは, a1×a2×a3××an意味するではなく,単なる数字の羅列を意味しています.

演習問題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でどんどん割っていきます.
その際,出た余りを横に書いておきます.

2) 26 _2) 13 _ 02)  6 _ 12)  3 _ 01  1

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

11010 (答)

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

7) 276 _7)   39 _ 35  4

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

543  (答)

 (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)まず普通に筆算の形式で書きます.

123+)446

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

3+6=9

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

97=2

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

123+)44612

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

2+4+1=7

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

77=0

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

123+)446102

 最後は,72の位です.

1+4+1=6

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

123+)446602

 以上より,

(123)7+(446)7=(602)7  (答)

となります.

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

34<0

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

(5_+3)4=4

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

233)1344

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

(31)3<0

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

(5_+2)3=4

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

233)13444

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

11=0

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

 以上により,

(223)5(134)5=(44)5  (答)

となります.

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

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

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

5×1=55×2=105×3=15

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

(5)6×(1)6=(5)6(5)6×(2)6=(14)6(5)6×(3)6=(23)6

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

3.3 異なる記数法での演算

 例えば,

(123)4+(567)8

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

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

(1) (302)4+(212)4(2) (466)9(285)9
(3) (1011)2×(2022)3(4) (1101)2×(101)2

こたえ

このページで疑問は解決されましたか?

 こちら から数学に関するご質問・ご要望をお寄せください。


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