ZKX's LAB

补码加减法如何求最终的余数 补码的加减法是怎么算的?例如:25+(-36)等于多少?

2021-04-27知识7

补码的加减法则的证明,即为什么求两个数的和的补码可以直接用两个数的补码相加?应该可以用定义证明的。 两个数的补码之和等于两个数之和的补码。下面以定点小数为例,分四种情况来证明。证明的先决条件是|x|,y|,x+y|。(1)x>0,y>0 则 x+y>0由于参加运算的数都为正数,故运算结果也一定为正数。又由于正数的补码与真值有相同的表示形式,所以根据补码定义可得:[x]补.

二进制用补码做加减法怎么实现,举个例子?? 正数的补码是原码;负数的补码是符号位(最高位)不变,其余位按位取反加1.用补码做减法运算时,结果出现的情况有正、0、负:结果为正或者0时,补码是原码,直接转换成10进。

补码的加减法则的证明,即为什么求两个数的和的补码可以直接用两个数的补码相加?应该可以用定义证明的。 两个数的补码之和等于两个数之和的补码。下面32313133353236313431303231363533e78988e69d8331333332393362以定点小数为例,分四种情况来证明。证明的先决条件是|x|,y|,x+y|。(1)x>0,y>0 则 x+y>0由于参加运算的数都为正数,故运算结果也一定为正数。又由于正数的补码与真值有相同的表示形式,所以根据补码定义可得:[x]补+[y]补=x+y=[x+y]补(mod 2)(2)x>0,y,则 x+y>0 或 x+y由于参加运算的两个数一个为正、一个为负,则相加结果有正、负两种可能。根据补码定义,有[x]补=x,[y]补=2+y所以[x]补+[y]补=x+2+y=2+(x+y)当 x+y>0 时,2+(x+y)>2,进位 2 必丢失,又因为 x+y>0,所以[x]补+[y]补=2+(x+y)=[x+y]补(mod 2)当 x+y时,2+(x+y),又因为 x+y,所以[x]补+[y]补=2+(x+y)=[x+y]补(mod 2)(3)x,y>0,则 x+y>0 或 x+y这种情况和第 2 种情况一样,把 x 和 y 的位置对调即可得证。(4)x,y,则 x+y由于参加运算的数都为负数,故运算结果也一定为负数。根据补码定义可得:[x]补=2+x,[y]补=2+y所以[x]补+[y]补=2+x+2+y=2+(2+x+y)由于 x+y,其绝对值又小于1,那么(2+x+y)一定是小于 2 而大于 1 的数,所以上式等号右边的 2 必然丢掉,又。

#补码加减法如何求最终的余数

随机阅读

qrcode
访问手机版