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

Lik*_*kak -2 python

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

And*_*ins 5

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

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

>>> n = 0b10010 # 18
>>> m = 0b11111
>>> n ^ m
13
Run Code Online (Sandbox Code Playgroud)