こんにちは、リンス(@Lins016)です。
今回はn進法の表し方について学習していこう。
目次[表示]
n進法
高校数学では 10 10 進法を使っているけど、今回は n n 進法の表記の仕方や n n 進法を 10 10 進法にしたり、 10 10 進法を n n 進法にする方法をマスターしよう。
・位取り記数法
各位の数字を上から並べて数を表す方法
・n進法
akak−1⋯a1a0 (n) akak−1⋯a1a0 (n)
・10進法
位取り記数法
まずは普段使っている 10 進法を考えてみよう。
10 進法の 1234 は千の位が 1 、百の位が 2 、十の位が 3 、一の位が 4 の数だよね。
だから
1234=1⋅103+2⋅102+3⋅101+4⋅100 って書くことができる。
10 進法の位は 100=1 から 101, 102, 103,⋯ と下の位から上がっていって、この各位の数は 0〜9 のどれかになる。
これって 10 で割った余りの数でもあるんだ。
次 3 進法を考えてみよう。
10 進法と同じように 3 進法の位は 30=1 から 31, 32, 33,⋯ と下の位から上がっていって、この各位の数は 0〜2 のどれかになる。
例えば 3 進法で表された 12022 は 10 進法で表すと
になる。
この各位の数字を上から並べて数を表す方法を、位取り記数法っていうんだ。ちなみに 10 進法の場合の 10 、 3 進法の場合の 3 のように、位取りの基礎となる数を底っていうからね。
そして n 進法で表された数を n 進数っていうんだ。もちろん n は 2 以上の整数になるからね。
そして n 進法で表された n 進数は右下に (n) をつけて表記する。ただ、普段よく使っている 10 進法は (10) を省略するからね。
つまり 12022(3)=143 って書くことになるんだ。
n進法から10進法への変換(整数)
それじゃ次に底を変換する方法を考えてみよう。
12022(3) を 10 進数にするのは
1⋅34+2⋅33+0⋅32+2⋅31+2⋅30=143
ってして各位の数に 3n をかけてあげればいいよね。
3 進法は下一桁の位から順に 30, 31, 32, ⋯ って並んでる。
だから一般化すると akak−1⋯a1a0 (n) を 10 進法で表すと
になるんだ。
10進法からn進法への変換(整数)
それじゃ次に底を 10 進数を n 進数に変換する計算方法を見てみよう。
10 進数の 143 を 3 進法にするには 3 で 143 を割り続けるんだ。
まずは 143 を 3 で割ると商が 47 で余り 2 。
次に 47 を 3 で割ると商が 15 で余り 2 。
15 を 3 で割ると商が 5 で余り 0 。
5 を 3 で割ると商が 1 で余り 2 。
3)143_3) 47_⋯23) 15_⋯23) 5_⋯0 1⋯2
商が 3 で割れなくなるところまで計算して、最後の商から順に出てきた余りを逆に並べると 12022 になる。これが 10 進数 143 を 3 進法で表した数 12022(3) になるんだ。
なんでそうなるかっていうと商を 3 で割り続ける計算は次の計算になる。
143=47⋅3+247=15⋅3+215=5⋅3+05=1⋅3+2
これを式変形に利用すると
143=47⋅3+2=3(15⋅3+2)+2=15⋅32+2⋅3+2=(5⋅3+0)32+2⋅3+2=5⋅33+0⋅32+2⋅3+2=(1⋅3+2)33+0⋅32+2⋅3+2=1⋅34+2⋅33+0⋅32+2⋅3+2
143 を 3n を並べた形で表すために繰り返し 3 で割ったんだ。
だから 10 進数を n 進法で表したい場合は、 n で繰り返し割ろう。
n進法から10進法への変換(小数)
次に小数を変換する方法を考えてみよう。
10 進法で表された数 12.345 って 1⋅10+2+3⋅110+4⋅1100+5⋅11000
ってことになるよね。
これって 10 進法では小数点以下の位は 110 の位、 1102 の位、 1103 の位・・・ってなっていくんだ。
これと同じで n 進法では、小数点以下の位は 1n の位、 1n2 の位、 1n3 の位・・・ってなっていく。

ちなみに a0=1 ってなるから、 100=1 。
だから 10 進法は 1 の位から 10 の位ってあがるにつれて 100, 101, 102⋯ ってなっていくし、小数部分は小数第一位から順に 10−1, 10−2, 10−3⋯ ってなるんだ。
これを n 進法にすると整数部分の位は n0, n1, n2⋯ って上がっていくし、小数部分は小数第一位から順に n−1, n−2, n−3⋯ ってなるんだ。
だから、例えば 12.123(4) を 10 進法で表すと
になる。
10進法からn進法への変換(小数)
10 進法で表された数は 10 倍すると位があがるよね。
つまり 12.345 を 10 倍すると 123.45 になる。
これと同じで 4 進法で表された 12.123(4) は 4 倍すると位があがるんだ。
だって 12.123(4) を 10 進法で表すと
1⋅41+2⋅40+1⋅14+2⋅142+3⋅143
になるから 4 倍すると
1⋅42+2⋅41+1⋅40++2⋅141+3⋅142
これって 4 進法の 121.23(4) を表してるよね。
つまり 4 進法で表された 12.123(4) を 4 倍すると 121.23(4) になるんだ。
これを利用してさっき計算した 12.123(4)=6.421875 が導けるのか、 10 進法で表された小数を 4 進法にしてみよう。
整数部分と小数部分は別で考えるから小数部分 0.421875 について考えてみよう。 0.421875=0.a1a2a3a4⋯(4) になるとする。
まずは両辺を 4 倍しよう。
0.421875 を 4 倍すると 1.6875
0.a1a2a3a4⋯(4) を 4 倍すると a1.a2a3a4⋯(4)
両辺の整数部分を比較して a1=1
つまり整数部分 1 が元の数の 14 の位の数字になる。
さらに整数部分をのぞいた 0.6875 を 4 倍すると
2.75
0.a2a3a4⋯(4) を 4 倍すると a2.a3a4⋯(4)
両辺の整数部分を比較して a2=2
つまり整数部分 2 が元の数の 142 の位の数字になる。
さらに整数部分をのぞいた 0.75 を 4 倍すると 3
0.a3a4⋯(4) を 4 倍すると a3.a4⋯(4)
両辺の整数部分を比較して a3=3
つまり整数部分 3 が元の数の 143 の位の数字になる。
0.421875=0.a1a2a3a4⋯(4)×4×0.a10.a1a2a1a241.6875=a1.a2a3a4⋯(4)×4×0.a10.a1a2a1a242.75=a2.a3a4⋯(4)×4×0.a10.a1a2a1a243=a3.a4⋯(4)
だから 0.421875=0.123(4) になる。
一般化すると 10 進法の小数を n 進法で表すには掛ける数を n にして、上みたい小数部分に掛け算を繰り返して、各位の数を求めればいいんだ。

もちろん n 進法の場合は n 倍すると桁があがる。 n は n 進法で書くと 10(n) になるからね。
つまり n 進数に 10(n) をかければ桁が上がるんだ。普段使う 10 進法の 10 倍と同じような感じで桁が上がるんだ。
次の 10 進数を 2 進数で、 2 進数を 10 進数で表せ。
(1) 124
(2) 11101(2)
(3) 0.8125
(4) 0.101(2)
(1) 124
2)124_2) 62_⋯02) 31_⋯02) 15_⋯12) 7_⋯12) 3_⋯1 1⋯1
1111100(2)
(2) 11101(2)
1⋅24+1⋅23+1⋅22+1=29
(3) 0.8125
0.8125×21.625×21.25×20.5×21
0.1101(2)
(4) 0.101(2)
1⋅12+1⋅123=0.625
Point n 進法の表し方
① n 進法から 10 進法の変換(整数・小数)を覚える
② 10 進法から n 進法の変換(整数・小数)を覚える