論理回路 

目次


第1節 二進数

第2節 二進数の加算回路

第3節 減算回路

第4節 負数と補数


テスト

Logをみる

Back
 

第5章 計算回路

    第5章 計算回路

 第3節 減算回路

 まず具体的な二進数の組で減算をやってみましょう。

 (01011011)
- (00110101)
--------------
     0
     1
    1(borrow 1)
    0
   0
   1(borrow 1)
  0
  0
---------------
(00100110)

この計算の要点は0−1のとき1つ上の桁から借りて来ることです。借りをborrow といいます。

borrow が発生するのは

x y b | b+
-----------
0 0 0 | 0
0 0 1 | 1
0 1 0 | 1
0 1 1 | 1
1 0 0 | 0
1 0 1 | 0
1 1 0 | 0
1 1 1 | 1

 これを論理式にすると、

 b+ = not x and (y or b) or x and y and b (1)

 また各桁の差z は

x y b | z
-----------
0 0 0 | 0
0 0 1 | 1
0 1 0 | 1
0 1 1 | 0
1 0 0 | 1
1 0 1 | 0
1 1 0 | 0
1 1 1 | 1

 これは全加算器の和を求める回路と同じです。つまり

 z = x xor y xor b  (2)

 (1)と(2)を組み合わせた論理回路が「減算器 subtracter」です。

 一番上の桁からborrow が出るようなら、x よりy の方が大きい、即ち引けなかったということです。