补码加减法运算

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
号位进位上来的,为模自动丢失。 如将[X+Y]补=11100001再求一次补码得到[X+Y]原 =10011111B,即X+Y=-0011111B(-31)
结论: 当-2n-1≤X<2n-1 ; -2n-1≤Y<2n-1 ; -2n1≤X+Y<2n-1时,在模2n的意义下(模2n自然丢 失),任意两个数的补码之和等于该两数和 的补码,并且把数的符号位当做数的一部分 参加运算。如果从符号位有进位发生,则将 该位1自动丢失。
定点补码的加减法运算
在计算机中,凡是带符号的数一律用补码表示, 其结果也是用补码表示,若结果的符号位为“0”表 示正数,得到的是补码即原码,数值部分前加“+” 号即为真值。若结果的符号位为“1”表示负数,得 到的是补码,这时如果要求真值,需要对结果的补码 再求补码,变成原码,在数值部分前加上“-”号才为 真值。 一、定点补码的加法运算
规则:[X]补+[Y]补=[X+Y]补 (mod 2n) 式中,-2n-1≤X<2n-1 ; -2n-1≤Y<2n-1 ; -2n-1≤X+Y<2n-1
例:已知X=+0010011B ,Y=-0000111B,求X+Y
[X]补= +)[Y]补=
00010011 11111001
(+19的补码) (-7的补码)
二、定点补码的减法运算
规则:[x-y]补=[X+(-Y)]补=[X]补+[-Y]补 (mod 2n)
式中,-2n-1≤X<2n-1 ; -2n-1≤Y<2n-1 ; -2n-1≤X-Y<2n-1
[-Y]补 =[[Y]补]变补 =[[Y]补]求补
求补:只要将[Y]补连同符号位一起求反加1,即求 一个符号位相反而绝对值相等的数。
[X-Y]原=10100111,结果X-Y=-0100111B
三、不带符号数的运算
不带符号数(或称为无符号数)实际上是指参加运算的操 作数均为正数,且整个字长全部用于表示数值部分。 1、当两个n位不带符号数相加,由于X,Y都是正数,因此 X+Y的和也为正数,当和超过字长n位所允许的范围时,就 向更高位进位,这时必须采用多字节来表示。
丢失
符号位
例:X=-0111000B,Y=-0010001B,求X-Y
[ X]原=10111000 [ Y]原=10010001 [ X]补=11001000 [ y]补=11101111
[X]补= 11001000 (-56的补码) + [-y]补= 00010001 (+17的补码) [X-Y]补=11011001 (-39的补码)
[X]补=01000000 (+64的补码) +[-Y]补=11110110 (-10的补码)
[X-Y]补=100110110 ( +54的补码)
自动丢失,有进位,无借位,表示结果为正数。
2)若X<Y,则X-Y有借位,差值为负,[x-y]补=[X]补+[-Y]补 的和必小于2n,最高位无进位,其所得到的和是(XY)=-(Y-X)的补码。 例:已知Y=+01000000,X=+00001010,求X-Y
[X]补=[X]原=00001010 [Y]补=[Y]原=01000000 [-Y]补=11000000
[X]补= 00001010 (+10的补码) +[-Y]补= 11000000 (-64的补码)
[X-Y]补=011001010 (-54的补码)
无进位表示有借位,结果为负数。
所以:X-Y=-00110110B
例:X=+1100000B,Y=+0010011B,求X-Y [ X]补= [X]原=01100000 [Y]补= [Y]原=00010011 [ X]补= + [-Y]补= 01100000(+96的补码) 11101101 (-19的补码)
[X-Y]补= [1]01001101 (+77的补码)
(+12的补码)
[X+Y]补= [1]00001100
丢失 符号位
例:已知:X=-0011001B,Y=-0000110B,求XHale Waihona Puke BaiduY
[X]补= +)[Y]补=
11100111 11111010
(-25的补码) (-6的补码) (-31的补码)
[X+Y]补= [1]11100001
丢失 符号位
注意:符号位为1表明结果为负,符号位之前的1是由符
2、无符号数相减,其值的符号位取决于两数绝对 值的大小。
1)若X>Y,则X-Y无借位,差值为正,[x-y]补=[X]补 +[-Y]补 的和必大于2n,最高位有进位,其所得到的 和即是X-Y的原码。
例:已知X=+01000000,Y=+00001010,求X-Y
[X]补=[X]原=01000000 [Y]补=[Y]原=00001010 [-Y]补=11110110
相关文档
最新文档