[演習問題1.3] 10進数 0.1 の2進数表現を筆算で求めなさい。

 整数を2進数に変換するには、次々に2で割ってゆき余りを逆に並べれば 
よいことはよく知られています。たとえば10進数の57は2進数で111001。 
これは 

  57 = 1 × 2^5 + 1 × 2^4 + 1 × 2^3 + 0 × 2^2 + 0 × 2^1 + 1 × 2^0 
                            ↑ 
                            4桁目 

と書くことができるので、たとえば4桁目の数1は、 4回目に2で割った余 
りが1ということで求まります。 

 少数の場合は、0.1は1の位(2^0の項)は0ですから 

0.1 = 0×2^0 + a×2^-1 + b×2^-2 + c×2^-3 + ...... 

とおくと(ただし、a,b,c,..は0または1)、 

0.1×2 で a は 1の位(2^0)に現れ、 
0.1×4 で b は 1の位(2^0)に現れ、 
0.1×8 で c は 1の位(2^0)に現れ、 

というわけですから、小数点以下の数は次のように計算できます。 

                      1の位 
0,1 × 2   =   0.2      0 
0.2 × 2   =   0.4      0 
0.4 × 2   =   0.8      0 
0.8 × 2   =   1.6      1    次の計算で1桁目の1を捨てる 
0.6 × 2   =   1.2      1    次の計算で1桁目の1を捨てる 
0.2 × 2   =   0.4      0 
0.4 × 2   =   0.8      0 
0.8 × 2   =   1.6      1    次の計算で1桁目の1を捨てる 
0.6 × 2   =   1.2      1    次の計算で1桁目の1を捨てる 
0.2 × 2   =   0.4      0 
.......................... 
(以下繰り返し) 

従って、1の位に現れた数(最初が小数点第1位)を上から順に並べ
ると 

0.0001100110011...... 

と、2進数表現が得られます。 



 戻る

Copyright(c) 1998 Yamada, K