1.正数的源码反码补码都是一样,就不说了,下面看看负数的:
2.公式为:
1)0xFF-负数的绝对值 = 反码;
2)0xFF-(负数的绝对值或补码值)+1 = (补码或者补码对应的原码的绝对值);
举例:
A)求-2的反码和补码:
-2的绝对值是2(0x02)
反码为:0xFF-0x02=0xFD;
补码为0xFD+1 = 0xFE(或0xFF-0x02+1 = 0xFE) ;
B)反过来计算补码为0xFE的原码值:
原码:0xFF - 0xFE + 1 = 2,所有原码是-2
公式:0xFF-(负数的绝对值或补码值)+1 = (补码或者补码对应的原码的绝对值)
我的记法:0xFF - 已知数 + 1 = 所需数(求原码就+一个负号呗)
看懂上面之后,就可以口算补码、原码了哦!,关键是还不容易忘记。