Python 的按位补码运算符(~ 波浪号)如何工作?
在 Python 中,按位补码运算符~(波浪号)用于反转整数的位。此操作会翻转数字的每个位:变为 的位1,0以及变为 的0位1。
~
1
0
对于给定的整数x,按位补码~x计算如下:
x
~x
Python 使用一种称为“二进制补码”的系统来表示有符号整数。以下是此系统中按位补码的运算方式:
5
00000000 00000000 00000000 00000101
11111111 11111111 11111111 11111010
-(x + 1)
让我们看一些例子:
# Example 1: Positive Integer x = 5 print(bin(x)) # Binary representation of 5: '0b101' print(bin(~x)) # Bitwise complement: '-0b110' # Example 2: Negative Integer y = -5 print(bin(y)) # Binary representation of -5: '-0b101' print(bin(~y)) # Bitwise complement: '0b100' # Numerical results print(~5) # Output: -6 (since ~5 = -(5 + 1)) print(~-5) # Output: 4 (since ~(-5) = -(-5 + 1))
此运算符在需要直接处理二进制数据的低级编程或位操作任务中很有用。