题目
五、计算题(共1题,15.0分)12.(计算题,15.0分)试用二进制[1]补码计算11-3=
五、计算题(共1题,15.0分)
12.(计算题,15.0分)
试用二进制[1]补码计算11-3=
题目解答
答案
1. 将 11 转换为 8 位二进制:$00001011$。
2. 将 -3 转换为补码:$3 = 00000011$,取反得 $11111100$,加 1 得 $11111101$。
3. 将 $00001011 + 11111101$ 相加:
\[
00001011 + 11111101 = 00001000 \, (\text{忽略进位})
\]
4. 结果 $00001000$ 表示正数 8。
5. 最终,$11 - 3 = 8$。
答案:$11 - 3 = 8$。
解析
本题考查二进制补码的计算方法,解题思路是先将十进制数转换为二进制补码形式,再进行二进制加法运算,最后将运算结果转换回十进制数。
- 将十进制数$11$转换为$8$位二进制数:
- 采用除$2$取余的方法,$11\div2 = 5\cdots\cdots1$,$5\div2 = 2\cdots\cdots1$,$2\div2 = 1\cdots\cdots0$,$1\div2 = 0\cdots\cdots1$。
- 从下往上取余数得到$11$的二进制表示为$1011$。
- 由于要表示为$8$位二进制数,正数的符号位为$0$,所以$11$的$8$位二进制表示为$00001011$。
- 将十进制数$-3$转换为$8$位二进制补码:
- 先将$3$转换为二进制,同样用除$2$取余的方法,$3\div2 = 1\cdots\cdots1$,$1\div2 = 0\cdots\cdots1$,得到$3$的二进制表示为$11$。
- 写成$8$位二进制为$00000011$。
- 求其原码的反码,即将每一位取反,得到$11111100$。
- 反码加$1$得到补码,$11111100 + 1=11111101$。
- 进行二进制加法运算:
- 计算$00001011 + 11111101$,按照二进制加法规则:
- 从右往左逐位相加,$1 + 1 = 10$,向前进$1$,本位为$0$;$1+0 + 1=10$,向前进$1$,本位为$0$;$0 + 1+1 = 10$,向前进$1$,本位为$0$;$1+1 + 1=11$,向前进$1$,本位为$1$;$0+1 + 1=10$,向前进$1$,本位为$0$;$0+1+1 = 10$,向前进$1$,本位为$0$;$0 + 1+1 = 10$,向前进$1$,本位为$0$;最高位的进位忽略。
- 所以$00001011 + 11111101 = 00001000$(忽略进位)。
- 计算$00001011 + 11111101$,按照二进制加法规则:
- 将结果转换为十进制数:
- 由于结果$00001000$的最高位(符号位)为$0$,表示这是一个正数。
- 其对应的十进制数为$2^3=8$。