如果8位
二进制补码的最高位(符号位)为0,那么扩展后的16位补码直接在最高位前面添加8个0即可;
如果8位二进制补码的最高位(符号位)为1,那么扩展后的16位补码直接在最高位前面添加8个1即可;
举例如下:
-13
8位原码:1000 1101
8位补码:1111 0011
16位原码:1000 0000 0000 1101
16位补码:1111 1111 1111 0011
根据前面的知识,由于-13的最高位为1,所以直接在最高位前面添加8个1即可变为16位补码,即1111 1111 1111 0011(与前面由原码求补码的结果一致)。
13
8位原码:0000 1101
8位补码:0000 1101
16位原码:0000 0000 0000 1101
16位补码:0000 0000 0000 1101
根据前面的知识,由于13的最高位为0,所以直接在最高位前面添加8个0即可变为16位补码,即0000 0000 0000 1101(与前面由原码求补码的结果一致)。