计算机中所有的数都是以补码的形式存储的
原码:
一个数的原码就是其10进制的数转换为2进制数,正数的原码符号位为0,负数的原码符号位为1。
如10进制的数26667,将其转换为2进制为0110 1000 0010 1011。10进制的数-26667,将其转换为2进制为1110 1000 0010 1011。通过以上可以看出,正数和负数的原码除符号位外其它位全相同,因此计算10进制负数的原码时可以将其看成是正数求其原码,求得结果后再将符号位变为1表示该数为负数。
反码:
正数的反码就是其本身,负数的反码是符号位不参与变换,其它位取反。
如10进制的数26667,其反码和原码相同为0110 1000 0010 1011。10进制数-26667,其反码为1001 0111 1101 0100。
补码:
正数的补码就是其本身,负数的补码是反码加1。
如10进制的数26667,其补码、反码、原码相同为0110 1000 0010 1011。10进制数-26667,其补码为1001 0111 1101 0101。