繁体   English   中英

Python 中的异或,语法错误,为什么?

[英]XOR in Python, SyntaxError, why?

>>> x = 1101 ^ 0111
  File "<stdin>", line 1
    x = 1101 ^ 0111
                  ^

SyntaxError:无效的令牌

为什么我在 python 中出现此语法错误? 我在网上看到,“^ 按位异或说明返回两个整数按位异或的结果。

语法 A ^ B

Integer object。 B Integer object。”

所以我想我正在使用两个整数。

11010111应该是位吗? 要表示位文字,您应该使用0b11010b0111 ,否则它们是整数(并且整数不能以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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM