Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 这能与其他位智能门一起工作吗?_Python - Fatal编程技术网

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他想让你解释一下有人已经向他解释过的内容: