原码、反码和补码是用来表示有符号数的三种表示方法。其中,原码最高位表示符号位,0表示正数,1表示负数;反码就是将原码的符号位不变,其余位按位取反得到的码;补码就是反码加1。
以8位有符号数为例,假设要求+3的补码,则步骤如下:
将3的绝对值用二进制表示为0000 0011(8位)
补码的最高位是符号位,0表示正数,1表示负数,因为+3是正数,所以符号位为0
将步骤2得到的符号位和步骤1的二进制数拼接起来,得到0000 0011
由于步骤3中符号位为0,因此该数的原码、反码和补码均为0000 0011