[第1回演習:数の表記法]

 

1.次の数を10進法で表せ。

 (F1)16 = 15×161+1×160 = 240+1 = 241

 (401)8 = 4×82+0×81+1× 80 = 256+1 = 257

 (2002)3 = 2×33+2×30 = 54+2 = 56

 (1001001)2 = 1×26+1×23+1× 20 = 64+8+1 = 73

 

2.自然数2002を2進法,8進法,16進法および7進法でそれぞれ表記せよ。

 2002 = (3722)8 = (011 111 010 010)2 = (0111 1101 0010)2 = (7D2)16 = (5560)7

 

3.小数点をもった8進数表記 (13.3)8 は,どんな10進法表記の実 数を表すと考えられるか。

答えを導いた過程も示せ。また,実数 0.4 の2進法表記を考えてみよ。

 (13.3)8 = 1×81+3×80+3× 8-1 = 8+3+3×0.125 = 11.375

 0.4 = 0×2-1+1×2-2+1×2-3+0× 2-4+0×2-5+1×2-6+1×2-7+0× 2-8+...

   = (0.01100110011001100110..)2 (以下,0110 が無限に続 く)

● このように,無限に続く小数を無限小数という。10進法で表記したら有限桁 であっても,

 2進法で表記すると無限小数になってしまうことがある。

● ところで,どうやって計算したらいいかを考えよう。

 まず,次のようになると仮定してみる。ただし,a,b,c,... は0か1であ る。

  0.4 = a×2-1+b×2-2+c×2-3+d× 2-4+e×2-5+f×2-6+g×2-7+h× 2-8+...

この両辺を2倍すると,

  0.8 = a×20+b×2-1+c×2-2+d× 2-3+e×2-4+f×2-5+g×2-6+h× 2-7+...

左辺は1より小さいので,a は1ではない。つまり a = 0 である。

さらに両辺を2倍すると,

  1.6 = b×20+c×2-1+d×2-2+e× 2-3+f×2-4+g×2-5+h×2-6+ ...

左辺は1より大きいから,b = 1 である。そこで両辺から1を引いて,また両辺 を2倍する。

  1.2 = c×20+d×2-1+e×2-2+f× 2-3+g×2-4+h×2-5+...

よって,c = 1 であることがわかる。次も両辺から1を引いてから2倍する。

  0.4 = d×20+e×2-1+f×2-2+g× 2-3+h×2-4+...

よって,d = 0 である。また,このとき次式を得る。

  0.4 = e×2-1+f×2-2+g×2-3+h× 2-4+...

この式は最初の式と同じである。従って,e = a = 0,f = b = 1,g = c = 1, h = d = 0,...

となり,以下 0110 が無限に続くことになる。

● 練習問題: 0.1,0.2,0.3,0.5,0.6,0.7 を2進法で表記してみよ。

[答]

    0.1 = (0.0 0011 0011 0011 ...)2  0.2 = (0.0011 0011 0011 ...)2 

    0.3 = (0.0 1001 1001 1001 ...)2  0.5 = (0.1)2 

    0.6 = (0.1001 1001 1001 ...)2   0.7 = (0.1 0110 0110 0110 ...)2