题目
十进制负数的八位二进制补码是()A. 01011011B. 11011010C. 11011011D. 01011010
十进制负数的八位二进制补码是()
A. 01011011
B. 11011010
C. 11011011
D. 01011010
题目解答
答案
B. 11011010
解析
本题考查十进制负数转换为八位二进制补码的知识点。解题思路是先求出该十进制数绝对值的二进制原码,再得到其反码,最后在反码的基础上加 1 就可得到补码。
由于题目未给出具体的十进制负数,我们以答案 B 反推该十进制数为 -86 来进行详细计算。
- 求绝对值的二进制原码:
- 首先将十进制数 86 转换为二进制数。用除 2 取余的方法,具体计算过程如下:
- $86\div2 = 43\cdots\cdots0$
- $43\div2 = 21\cdots\cdots1$
- $21\div2 = 10\cdots\cdots1$
- $10\div2 = 5\cdots\cdots0$
- $5\div2 = 2\cdots\cdots1$
- $2\div2 = 1\cdots\cdots0$
- $1\div2 = 0\cdots\cdots1$
- 从下往上取余数,得到 86 的二进制表示为 $1010110$。
- 因为要表示八位二进制数,所以在前面补 0,得到 86 的八位二进制原码为 $01010110$。
- 首先将十进制数 86 转换为二进制数。用除 2 取余的方法,具体计算过程如下:
- 求反码:
- 反码是将原码的每一位取反,即 $0$ 变 $1$,$1$ 变 $0$。
- 所以 86 的八位二进制反码为 $10101001$。
- 求补码:
- 补码是在反码的基础上加 1。
- $10101001 + 1=10101010$,这就是 -86 的八位二进制补码。