什么是Python中的逐位NOT运算符?

时间:2017-01-31 21:14:09

标签: python

是否有一个带二进制数字a的数字的函数,并且不是吗? (例如,18 [二进制10010]处的函数值为13 [二进制01101]。)我认为这是代字号运算符(〜)所做的,但它只增加一个减号到18,这是它的两个补码,而不是得到13。

1 个答案:

答案 0 :(得分:5)

正如评论~中所提到的那样是按位NOT。

如果你想要一个5位无符号无符号NOT,你可以使用带掩码的XOR:

>>> n = 0b10010 # 18
>>> m = 0b11111
>>> n ^ m
13