定義1.1(n進法表示)
n>1とする。このとき、a(0でない自然数)は、
a = am*n^m+・・・+a1*n^1+a0, am<>0, 0<=ai と、表すことができる。このとき、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が用いられる。
012345 67891011 12131415
012345 6789AB CDEF


123(10進法)=7B(16進法)
123(10)=16*7+11=7B(16)
一般にn進法とn^m進法との間の変換容易に行われる。
そこで、コンピュータでは基本は2進法であるが表示の手間を省くため、
普通8進法、または16進法が用いられる。実際、2進法と16進法間の変換は
次のように行われる。

0000000100100011 0100010101100111
0123 4567
1000100110101011 1100110111101111
89AB CDEF

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
もどる