〜对整数值有什么作用?这个操作的用法

mah*_*tha 0 c bit-manipulation

我想知道对int值的操作是什么做的.我编码并打印了〜,指定为3,它给了-4.请告诉我它的用法.

hac*_*cks 6

~是按位NOT运算符(补码).它切换位0110.在32位机器上十进制3

00000000 00000000 00000000 00000011  (2's complement)  
Run Code Online (Sandbox Code Playgroud)

按位补码等于值的二进制补码减一(~x = ?x ? 1).因此~3

11111111 11111111 11111111 11111100 = -4
Run Code Online (Sandbox Code Playgroud)