书上讲运算符~的作用是取反码,但是我用编译器打印出~1的结果是-2.按理说正数的反码应该就是它本身,即1的反码就是1.请问各位大佬,我哪里理解出了错?
计算的时候用的是 int吧。假设int在你的环境中是4个字节(32位),则第一位是符号位。1 = 0x00000001,~1 = 0xfffffffe,正好对应的是补码表示的-2