本章任务三:对输入结果进行数学判断,是大于0,还是大于等于0,或者小于0,等等。

任务描述:

nandgame--Level 4.3: ALU: Condition

任务说明:

三个标志组合成8种情况。

当标志位为001时,代表“是否大于”。如果此时X>0,则输出为1.

当标志位为010时,代表“是否等于”。如果此时X=0,则输出为1.

其他情况类似。

当标志位为000时,不管X是什么,输出都为0;

当标志位为111时,不管X是什么,输出都为1.

 

原材料:除了基本的门之外,还有两个子部件:“是否为0”、“是否为负数”。

nandgame--Level 4.3: ALU: Condition

 

分析:

1,先实现一种简单的情况:当标志位为010,并且X=0时,输出为1。

即Y2=(IT非)& (EQ)&(GT非)&(X is zero)

nandgame--Level 4.3: ALU: Condition

也可以简化为:

nandgame--Level 4.3: ALU: Condition

这是Y2的输出。把8种情况的输出Y0~Y7做“或”运算,即可得到最终结果。

比如,

Y6=(IT)&(EQ)&(非GT)&(X小于等于0);

Y7=(IT)&(EQ)&(GT);

Y = Y0 或 Y1或Y2.。。或Y7。

 

思路已经清晰,但最终结果太复杂,就不做了。

相关文章:

  • 2021-12-31
  • 2021-05-12
  • 2022-01-16
  • 2021-12-20
  • 2021-12-01
  • 2021-09-05
  • 2022-01-02
  • 2022-12-23
猜你喜欢
  • 2021-04-08
  • 2021-04-30
  • 2021-10-21
  • 2021-08-26
  • 2021-04-03
  • 2021-10-17
  • 2021-08-01
相关资源
相似解决方案