高分求答题者 补码运算练习

来源:百度知道 编辑:UC知道 时间:2024/06/17 19:46:20
要求用补码计算(F4)-(37)先计算-37的补码,然后计算(F4)+(37)补=?然后和(F4)+(-37)=?的结果比较。
要求写过程和思路

在计算机系统中,数值一律用补码来表示和存储。因为使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。

数值的补码表示分两种情况:

1、正数的补码与原码相同。如本题的37H,原码为:00110111B,其补码也是:00110111B。

2、负数的补码,符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。如-55,+55的原码为:00110111B,符号位置1后:10110111B,其余位按位求反后:11001000B,整体加1后:11001001B,这个就是-55(37H)的补码表示,即-37H的补码是:11001001B。

(37H)补=00110111B,(-37H)补=11001001B。那么,

(F4H)+(37H)补=(F4H)+(37H)原
11110100
00110111
________
00101011
(F4H)+(37H)补=2BH

(F4H)+(-37H)=(F4H)+(-37H)补
11110100
11001001
________
10111101
(F4H)+(-37H)=0BDH

已知一个数的补码,求原码的操作分两种情况:

1、如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。如37H,其补码就是该数的原码:00110111B,也就是十进制的55;2BH,其补码就是该数的原码:00101011B,也就是十进制的43。

2、如果补码的符号位为“1”,表示是一个负数,求原码的操作是:符号位为1,其余各位取反,然后再整个数加1。如0F4H,其原码为:10001100B,也就是十进制的-12;0BDH,其原码为:11000011B,也就是十进制的-67。

如此,就好理解了。
0F4H+37H=2BH,相当于十进制运算表达式:-12+55=43