请用十进制数写出下列补码表示的机器数的真值(要详细步骤)71H,CF42H.

2025-01-19 19:32:37
推荐回答(2个)
回答1:

71H--> 0111 0001 最高位为0,所以是一个正数,正数的补码与真值相等,转换成10进制数就是7*16+1=113
cf42h-->1100 1111 0100 0010 从最高可以看出是一个负数,负数的补码先一减1再求反,即:
减1:1100 1111 0100 0001
求反:1011 0000 1011 1110
对应16进制真值为:-30BEH=-(3*16*16*16+11*16+14),用计算器算一算就行了.

回答2:

补码是 71H = 0111 0001。

各位之和: 64 + 32 + 16 + 1 = 113。

总和,就是真值:+113。

--------------

补码是 CF42H = 1100 1111 0100 0010。

首位的 1,既代表负号,也代表数值-32768。

其余各位之和: 16384 + 2048 + 1024 + 512 + 256 + 64 + 2 = 20290。

总和,就是真值:-32768 + 20290 =-12478。