原码:有符号数据的最基本表示形式。最高位是符号位,其他位是数值位。 0表示正数,1表示负数。
反码:
正数的反码和原码相同。
负数的反码和原码不同:
规则是:符号位不变,数值位取反,0变1,1变0.
补码:
正数的补码和原码相同。
负数的补码和原码不同:
规则是:反码+1
总结:
正数的原码,反码,补码都一样。
负数的不一样。
注意:
Java中只有加法,减去一个数字,等于加上这个数字的负数形式。
记忆:计算中存数的数据都是以补码形式存的。
负数的补码求反码就就是减1,如-78的补码求反码:
10110010
- 1
——————
10110001
因为最右边的0减1不够,像右边借一个,就是这样。
|