机器数字长8位(含1位符号位),若机器数为83H,当它分别表示原码,补码,反码时,等价的十进制数分别是多少?(麻烦哪位解答的朋友,能告诉我算法或者过程,谢谢)
问题描述:
机器数字长8位(含1位符号位),若机器数为83H,当它分别表示原码,补码,反码时,等价的十进制数分别是多少?(麻烦哪位解答的朋友,能告诉我算法或者过程,谢谢)
答
83H 的原码:10000011 (把十六进制的83转换为二进制的1000 0011)对于字长8位的机器,83H(10000011)等价于十进制数的-125 (对于10000000,最高位1是负号,它相当于十进制数的-128)
10000011→ -128 + 2^1 + 2^0 = -128 + 2 + 1 = - 125
10000011反码 01111100 (把二进制的10000011按位求反即01111100),相当于十进制数的 124
01111100→2^6 + 2^5 + 2^4+2^3 + 2^2 = 64 + 32 + 16 + 8 + 4 = 124
10000011的补码=反码01111100 + 1 = 01111101,相当于十进制数的 125
01111101→2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^0 = 64 + 32 + 16 + 8 + 4 + 1 = 125