算額(S4)
☆問題
2進数の補数について次の問に答えよ。

1)A,Bを「先頭1ビットが0である8桁の2進数」で表される数(区間[1,27−1]内の整数)とする。
 コンピュータでB−Aの演算を行う場合、
 −Aという負の数をそのまま符号と絶対値の組合せの形で表して計算する方法が考えられるが、
 絶対値と符号から結果の符号をどうするかの計算が必要となり、演算回路が複雑となること、
 0の表現方法として+0と-0の2種類ができてしまうこと等の不都合がある。

2)そこで、2進数で表したAの各ビットの0と1を入れ替えた数をA'として、
 A*=A'+1なる数(Aの補数という。)を導入する。… 
 この数を用いてB+A*を計算し、28の位(8桁の更に1つ上の位)を無視すれば、
 これがB−Aの答となる。

(問1) なぜ、上記2)の方法でB−Aが計算できるのかを説明せよ。
    また、−B−Aの計算方法についても言及せよ。

(問2) 2進数の補数で表された数A*(先頭ビットが1)を10進数で表す方法を述べなさい。

(問3) 10進数の負数で表された数−Nを2進数の補数で表す方法を述べなさい。

(問4) 8桁の2進数で補数を用いて表現することのできる値の範囲を示しなさい。また、n桁ならばどうか。
  今様算額挑戦への扉へもどる

 算額(S4)・道場研究レポートへ進む