写出下列用补码表示的二进制数的真值(用十进制表示):

(1) 01101010 (2) 01010111 (3) 10001101 (4) 11111110要详细过程~~~TAT谢谢
2025-01-19 22:13:53
推荐回答(3个)
回答1:

(1)(2)为正数,补码就是原码,直接由二进制转换为十进制即可。
(3)(4)为负数,符号位不变,数值位取反加1(跟求补过程一样),而后化为十进制。

二进制化为十进制没问题吧?

回答2:

(1)(2)首位为0,是正数,(3)(4)首位为1,是负数,要先首位不变,后面的位数变反加1;再化为十进制数,加上负号。
(1)1*2^6+1*2^5+1*2^3+1*2=+106
(2)1*2^6+1*2^4+1*2^2+1*2+1=+87
(3) 首位不变,后面位变反加1后是11110011,真值是-115
(4)............................................是10000010,真值是-2

回答3:

求补码对应的真值,直接转换就可以,不用绕到原码反码。

(1) 01101010: 64 + 32 + 8 + 2 = +106。

(2) 01010111: 64 + 16 + 4 + 2 + 1 = +87。

(3) 10001101:-128 + 8 + 4 + 1 =-115。

(4) 11111110:-128 + 126 = -2。