📜  门| GATE-CS-2003 |第 90 题

📅  最后修改于: 2021-09-26 03:13:36             🧑  作者: Mango

考虑下图所示的 ALU。

GATECS2009Q46

如果操作数以2的补码表示,仅通过适当设置控制线K和C0(+和-分别表示加法和减法)可以进行以下哪些操作?
(A) A + B 和 A – B,但不是 A + 1
(B) A + B 和 A + 1,但不是 A – B
(C) A + B,但不是 A – B,或 A + 1
(D) A + B, 和 A – B, 和 A + 1答案:(一)
说明:我们可以将 k 和 c 的值设置为 0 或 1

我们需要知道的两件事——

  1. 如果我们对任何数字与 1 进行异或,我们就会得到它的补码形式。
  2. 如果我们对任何数字与 0 进行异或,我们就会得到该数字本身。

所以在设置 k=1 时,我们可以得到 –B 和 c 将像选择信号一样工作

像 c=0 意味着添加

C=1 表示减去

因此 k=1 c=1 我们得到 AB

当 K=0 c=0 时,我们得到 A+B

我们需要 b=1,c=0 或 b=0,c=1 来得到 A+1
因为 b 不是预定义的,所以我们不能得到 A+1

所以 Ans 是 (A) 部分。
这个问题的测验