~是按位NOT运算符(补码).它切换位0来1和1到0.在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)