单选题
使用8个二进制位来表示整数的编码时,十进制-88对应的原码和补码分别是( )。
A
A:11011000和10100111
B
B:11011000和10101000
C
C:11011011和10100111
D
D:11011011和10101000
答案解析
正确答案:B
解析:
在8位二进制表示中:
- **原码**:直接表示数值,正数为该数的二进制形式,负数为符号位(最高位)为1,其余位为该数的绝对值二进制形式。
- **补码**:正数的补码与原码相同;负数的补码是其原码除符号位外各位取反(0变1,1变0)后加1。
对于十进制-88:
1. **原码**:符号位为1,88的二进制为`1011000`(因为$88 = 2^6 + 2^4 + 2^3 = 64 + 16 + 8$),所以-88的原码为`11011000`。
2. **补码**:对`1011000`取反得`0100111`,再加1得`0101000`。但因为是负数,符号位仍为1,所以-88的补码为`10101000`。
故正确答案是B:原码`11011000`,补码`10101000`。
