进位到底在哪几位上产生

进位到底在哪几位上产生

把上一题的加法器改成同时交出三样:八位的和、最高位送出去的那个进位、以及每一位的进位(低位在前)。

阅读更多 →
自己写:把八位串起来

自己写:把八位串起来

补全 ripple_add:从最低位开始,一位一位调 full_adder,把每一位的进位接到下一位去。返回八位的和(高位在前)。

阅读更多 →
自己写:用两个半加器搭全加器

自己写:用两个半加器搭全加器

补全 full_adder:先把 a、b 半加一次,再把结果和 cin 半加一次,两次的进位用或合起来。

阅读更多 →
全加器的完整真值表

全加器的完整真值表

运行下面这段程序,填写它打印出来的结果。 def half_adder(a, b): return a ^ b, a & b def full_adder(a, b, cin):

阅读更多 →
用半加器搭全加器要几个

用半加器搭全加器要几个

用半加器来搭一个全加器,需要【0】。

阅读更多 →
进位输出什么时候是 1

进位输出什么时候是 1

全加器的进位输出为 1 的条件是【0】。

阅读更多 →
全加器有几个输入

全加器有几个输入

全加器比半加器多了一个输入口。它的三个输入是【0】。

阅读更多 →
自己写:半加器

自己写:半加器

补全 half_adder:返回(本位, 进位)两个值。每一行按「本位 + 进位」拼成两个字符。

阅读更多 →
自己写:一位多路选择器

自己写:一位多路选择器

只用 &、|、^ 这几个位运算(相当于只用门),补全一位的 MUX:sel 为 0 送 a,为 1 送 b。

阅读更多 →
选择线一变,出来的就换了

选择线一变,出来的就换了

运行下面这段程序,填写它打印出来的结果。 def mux(sel, a, b): if sel == 0: return a return b print(str(m

阅读更多 →