在原码,反码,补码中整数和负数的规格是不相同的。
例如:在正数中原码,反码,补码是相同的,而在负数中原码,反码,补码需要进行一定规则的转换。
如:8的原码为00000000000000000000000000001000因此它的反码和补码也为这个2进制数。
对于负数来说反码等于原码符号位不变其他位按位取反,补码为反码加一,
在这里我们以-8为例:
原码10000000000000000000000000001000
反码111111111111111111111111111111110111
补码111111111111111111111111111111111000
如果想要补码转化为原码有两种方式 :
第一中:补码取反+1
第二中:补码-1取反
当然这两种方式是基于符号位不变进行的。