nandgame--Level 4.3: ALU: Condition

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

任务描述:

任务说明:

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

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

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

其他情况类似。

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

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

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

分析:

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

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

也可以简化为:

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

比如,

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

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

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

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

猜你喜欢

转载自blog.csdn.net/booksyhay/article/details/82113856
alu
4.3