Python 这能与其他位智能门一起工作吗?
我一直在研究这个小聪明门Python 这能与其他位智能门一起工作吗?,python,Python,我一直在研究这个小聪明门 a=0b01100001 b=0b01100010 bin((a ^ 0b11111111) & (b ^ 0b11111111)) >>>0b10011100 所以我想知道你们会如何调整它,使之适用于与非门和其他任何例子 >>> bin((a ~ 0b11111111)& (b ~ 0b11111111)) SyntaxError: invalid syntax >>> bin((a ^ 0
a=0b01100001
b=0b01100010
bin((a ^ 0b11111111) & (b ^ 0b11111111))
>>>0b10011100
所以我想知道你们会如何调整它,使之适用于与非门和其他任何例子
>>> bin((a ~ 0b11111111)& (b ~ 0b11111111))
SyntaxError: invalid syntax
>>> bin((a ^ 0b11111111) ~ (b ^ 0b11111111))
SyntaxError: invalid syntax
例如,不起作用。您应该从这里开始: x>y 返回x,位向右移动y位。这与用2**y对x进行//”相同。 x&y 执行按位和。如果x和y的对应位为1,则输出的每一位为1,否则为0。 x | y 执行按位或。如果x和y的对应位为0,则输出的每一位为0,否则为1。 ~x 返回x的补码-通过将每个1切换为0,将每个0切换为1得到的数字。这与-x-1相同。 x^y 执行按位异或运算。如果y中的位为0,则输出的每一位与x中的对应位相同,如果y中的位为1,则它是x中位的补码。 根据维基百科: 函数NANDa1,a2,…,an在逻辑上等价于NOTa1和a2,并且。。。还有一个 因此,为了在Python中对操作数a和b执行逐位NAND操作:
~(a & b)
您可以将其放入函数中:
bnand = lambda a, b: ~(a & b)
相应的非位NAND为:
not (a and b)
因此,请确保不要混淆和&以及不要和~;此外,逻辑运算符是小写的
另外,请务必阅读以下内容:根据~这只是否定。您可以在本例中使用~a和b。@Kamiccolo,~a&b-&是按位的,不是Python,是一种短路布尔控制结构-因此,如果给定的值不是bina和b???@TimPeters-Peters,对不起,这就是我的意思:~a&bbina=0b11111111&b=0b11111111你能解释一下a^0B111111除了文档中的内容之外,还可以解释什么吗?@ErikAllik他想让你解释一下有人已经向他解释过的内容: