[英]XOR in Python, SyntaxError, why?
>>> x = 1101 ^ 0111
File "<stdin>", line 1
x = 1101 ^ 0111
^
SyntaxError:无效的令牌
为什么我在 python 中出现此语法错误? 我在网上看到,“^ 按位异或说明返回两个整数按位异或的结果。
语法 A ^ B
Integer object。 B Integer object。”
所以我想我正在使用两个整数。
1101
和0111
应该是位吗? 要表示位文字,您应该使用0b1101
和0b0111
,否则它们是整数(并且整数不能以0
开头
首先,您不能以这种方式使用整数。 这是我在运行您的代码时遇到的错误:
SyntaxError: leading zeros in decimal integer literals are not permitted;
use an 0o prefix for octal integers
换句话说,您不能给 Python 一个以零开头的 integer。 这曾经在 Python 2 中工作,但在 Python 3 中不再受支持。(请参阅Z5E056C500A1C4B6A7110B50D807BADE527601700.com/53010 )
我假设您正在尝试使用二进制数? 如果是这样,你应该试试这个: https://stackoverflow.com/a/19414115/7583007
我相信你想要:
0b1101 ^ 0b0111
通常,您收到的错误是因为您在数字前面放置了“0”,这是 python 不允许的。 如果您尝试这样做,也会发生同样的情况:
078
以零开头的数字通常是特殊的 python 代码,表示您将提供二进制数、八进制数或十六进制数,分别以 0b、0o 或 0x 开头。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.