我已经尝试了很长时间才找到解决方案,但却无法理解它。
它需要基于使用标准逻辑运算的两个整数,这些运算具有直接硬件实现AND,OR,XOR,NOT
如果有人能解释,请帮助我开始帮助我的项目。
我想用Python来表达这个
答案 0 :(得分:1)
>>> add = lambda x, y: x if y == 0 else add(x^y, (x&y) << 1)
>>> add(5, 6)
11
答案 1 :(得分:1)
基本组件是full adder。它有3个输入(来自a
的位,来自b
和进位的位)和两个输出(一点和和进位)。它的功能是
out = a ^ b ^ carry
carry = a & b | (carry & (a^b))
最初进位为0.将上述语句应用于从最低有效位开始的每个位。