【数IA】n 進法の仕組みと計算のやり方(基礎から)

$n$ 進法の計算が分かりません。
国公立二次試験ではあんまりやらないけど,センター・共通テでは必要な知識だからおさらいしたほうがいいだろうね。

10 進法

まず 10 進法から。10 進法は普段使っている数で 1,2,3,・・・と数えていって 10 になったらケタが一つ上がる。

また,たとえば 1203 っていう数があったら次のような計算が成り立つよね。

$1\times10^3+2\times10^2+0\times10^1+3\times10^0=1203$

1203 っていう数は 1000 のかたまりが 1 つ,100 のかたまりが 2 つ,1 のかたまりが 3 つでできていると言える。

$n$ 進法だと 10 のナントカ乗が変わるんですよね?

そういうこと。その前にもうちょっと 10 進法の話を続けるよ。今度は小数の場合。たとえば 123.45 という数があったら各数字の位はこうなる。

$\begin{matrix}1&2&3.&4&5\\10^2&10^1&10^0&\cfrac{1}{10^1}&\cfrac{1}{10^2}&\text{の位}\end{matrix}$
小数のところ分数でしたね。

そうそう。忘れやすいところだから注意。

あともう一つ。もし 123 を 10 倍したらどうなる?

1230。

だよね。10 進法では 10 倍するとケタが一つ繰り上がる。じゃあ 5 進法なら?

5 倍したら繰り上がりですか?

正解。たとえば $1_{(5)}$ を 5 倍すると $10_{(5)}$ になる。この話あとで出てくるから覚えておいて。

3 進法の数を 10 進法で表す

次に 3 進法。3 進法は 3 でケタが上がる。1,2 と数えてその次は 10。そのあと 11,12,100 となる。

2 の次が 10 って気持ち悪い感じ。

慣れの問題。ためしに 3 進法の数 $120_{(3)}$ を 10 進法になおしてみようか。

$\begin{matrix}1&2&0\\3^2&3^1&3^0&\text{の位}\end{matrix}$
3 進法だと 3 のナントカ乗か。

$1\times3^2+2\times3^1+0\times3^0=9+6+0=15$

$120_{(3)}$ は $3^2=9$ のかたまりが 1 つ,$3^1=3$ のかたまりが 2 つ,$3^0=1$ のかたまりが 0 でできているということ。

ケタごとにかたまり作っていけばいいんですね。

小数でもやり方いっしょ。たとえば,$1.02_{(3)}$ なら

$1\times3^1+0\times\cfrac{1}{3^1}+2\times\cfrac{1}{3^2}$

$=3+\cfrac{2}{9}=\cfrac{27+2}{9}=\cfrac{29}{9}$

なるほど。

そしてこれの逆をやれば 10 進法の数を 3 進法になおせる。

10 進法の数を 3 進法であらわす

たとえば 10 進法の 68 を 3 進法であらわしてみようか。

3 進法になおすときは上のケタからいく。考えてみると分かるけど $3^4=81$ だから $3^4$ の位は必要ないよね。

$81=1000_{(3)}$ か。

次に $3^3=27$ で 68 はそれより大きな数だから $3^3$ の位は 0 じゃない。$3^3$ の位の値は商とあまりを使って求める。

$68\div3^3=68\div27=2\cdots14$

つまり 68 には $3^3$ のかたまりが 2 つ入る。だから $3^3$ の位は 2。そしてあまりをその下のケタにあてはめていく。

$14\div3^2=14\div9=1\cdots5$
$3^2$ の位は 1 ですね。

$5\div3^1=1\cdots2$

これで $3^1$ の位が 1,$3^0$ の位が 2 ということが分かる。答えは

$68=2112_{(3)}$

小数を 2 進法になおす

最後に小数の場合を考えてみる。10 進法の 0.3125 を 2 進法であらわしてみる。

やり方全然想像つかない。

最初の話思い出して。10 進法の数は 10 倍すると 1 ケタ繰り上がる。2 進法なら 2 倍すれば 1 ケタ繰り上がる。

はあ。

たとえば $0.1_{(2)}$ を 2 倍すると $1.0_{(2)}$。これを 10 進法で考えてみる。2 進法の小数第 1 位は $\cfrac{1}{2^1}$ の位だから $0.1_{(2)}=1\times\cfrac{1}{2^1}=0.5$ になる。これを 2 倍すると $0.5\times2=1$。これは 2 進法でも $1_{(2)}$ だから,10 進法で 2 倍しても 2 進法になおしたらちゃんと 1 ケタ繰り上がってるよね。

確かに。

こうやって 2 倍してやることで,小数部分の 1 ケタが整数となって出てくるから,それを使って 1 ケタずつ求めていく。

$0.3125\times2=0.625$

整数部分が 0 だから小数第 1 位は 0 であることが分かる。さらに 2 倍すると

$0.625\times2=1.25$

整数部分が 1 だから小数第 2 位は 1。そして次のケタを求めるけど,整数部分の 1 はもう必要ないから 0.25 を 2 倍すればよい。

$0.25\times2=0.5$

小数第 3 位は 0。

$0.5\times2=1$

よって,$0.3125=0.0101_{(2)}$

小数になると結構面倒くさいですね。

ちょっと小細工必要だよね。ここはやり方覚えていくしかない。