と、表すことができる。このとき、aを単に、
am・・・a1a0
と表し、aのn進法表示と言う。
10進法からn進法への変換
10進法で表された数aをn進法で表すには、次のようにすればよい。
aをnで割った余りをb0とする。このとき、a-b0はnで割り切れる。
その商をa'として、
a'をnで割った余りをb1とする。このとき、a-b1はnで割り切れる。
その商をa''として、
a''をnで割った余りをb2とする。
以下同様にして、商が0になるまで続ける。
そのようにして、b0,b1,・・・bkが得られたとすると、それらがn進法での
各桁になる。即ち、
a=bk・・・b2b1b0(n進法)
である。
例
99(10進法) = 201(7進法) = 344(5進法)
99/7=14・・・1
14/7=2・・・0
2/7=0・・・2
99/5=19・・・4
19/5=3・・・4
3/5=0・・・3
n進法から10進法への変換
n進法で表された数a=ama(m-1)・・・a0を10進法に変換するには
n進法の定義から、
a = am*n^m+・・・+a1*n^1+a0
だから、この右辺を普通に10進法で計算すればよい。
例
123(4進法)=27(10進法)
1234(5進法)=194(10進法)
123(4)=1*4^2+2*4+3=16+8+3=27(10)
1234(5)=1*5^3+2*5^2+3*5+4=125+50+15+4=194(10)
16進法では、10から15までの数に数記号を決めなくてはならないが、
これらは英数字AからFが充てられるのが通例である。即ち、進法では普通
数記号は0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,Fが用いられる。
| 0 | 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 |
| 0 | 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | A | B |
C | D | E | F |
例
123(10進法)=7B(16進法)
123(10)=16*7+11=7B(16)
一般にn進法とn^m進法との間の変換容易に行われる。
そこで、コンピュータでは基本は2進法であるが表示の手間を省くため、
普通8進法、または16進法が用いられる。実際、2進法と16進法間の変換は
次のように行われる。
| 0000 | 0001 | 0010 | 0011 |
0100 | 0101 | 0110 | 0111 |
| 0 | 1 | 2 | 3 |
4 | 5 | 6 | 7 |
| 1000 | 1001 | 1010 | 1011 |
1100 | 1101 | 1110 | 1111 |
| 8 | 9 | A | B |
C | D | E | F |
2進法から16進法への変換
2進法で表された数を16進法で表すには、2進法で表された数を
4桁ごとに区切って、各々を対応する16進法での数に置き換えればよい。
16進法から2進法への変換
16進法で表された数を2進法で表すには、16進法で表された数の各桁を
対応する2進法での4桁の数に置き換えればよい。
例
1001101011(2)=0010 0110 1011 (2)
= 2 6 B (16)
=26B(16)
進数での加減乗除
n進数での加減乗除の実際の計算は、進法の場合と同様に行われる。
例(2進法)
1010 11011
+1101 - 1101
10111 1110
101 1110
×111 11)101011
101 11
101 10011
101 11
100011 111
11
1
もどる