是的,在二进制编码中,对于一个正数,其原码、反码、补码是一样的,负数则有所不同。求一个数的二进制编码的规则如下:
先求一个数除开符号之后的二进制真值
根据编码的位数,将二进制真值放编码右侧,最高位为符号位,正数置0,负数置1,其余各位用0补齐,如此得到原码
正数的反码、补码与原码一致
如果是负数,将原码除符号位之外的各位取反,得到反码再将反码加1,得到补码。
一个正数的反码与其原码相同
是的,对于正数来说,其二进制原码,反码,补码均为相同的,为原码的形式 对于负数来说,其反码为符号位保持不变,其余各位取反,其反码为符号位保持不变,其余各位取反后再在最后一位上加1。 例如:十进制数+18=二进制数010010(第一位为符号位,0为正,1为负),其反码和补码均为010010 十进制数-18=二进制数110010,其反码为101101(符号位保留,其余取反),补码为101110(符号位保留,其余各位取反后末位加1)