例:int a=0;
内存中存储的为二进制形式的补码 00000000000000000000000000000000
按位取反运算存储在内存中为补码 11111111111111111111111111111111
先将补码转为反码,末尾减1 11111111111111111111111111111110
对应原码:符号位不变,其余取反 10000000000000000000000000000001
printf("%d",~a);打印结果应为原码 -1
例:int a=0;
内存中存储的为二进制形式的补码 00000000000000000000000000000000
按位取反运算存储在内存中为补码 11111111111111111111111111111111
先将补码转为反码,末尾减1 11111111111111111111111111111110
对应原码:符号位不变,其余取反 10000000000000000000000000000001
printf("%d",~a);打印结果应为原码 -1