补码的加减法运算

 我来答
匿名用户
推荐于2017-11-26
展开全部
( 1 )参加运算操作的数都用补码表示。 ( 2 )数据的符号与数据一样参加运算。 ( 3 )求差时将负减数求补,用求和代替求差, 将减法运算转化为补码的加法运算。 ( 4 )运算结果为补码。如果符号位为 0 ,表明运算结果为正;如果符号位为 1 ,则表明结果为负。 ( 5 )符号位的进位为模值,应该去掉。 补码减法 运算公式为: [X]补–[Y]补=[X–Y]补 (3.2) 通过 [Y]补 求得 [–Y]补 可以将减法运算转化为补码的加法运算。 已知 [Y]补求 [–Y]补 的法则是:对 [Y]补各位(包括符号位)取反,末位加1 ,就可以得到[–Y]补 例 [Y]补 =1.1011 则 [–Y]补 =0.0101 [Y]补 = 0.1011 则 [–Y]补 =1.0101 例 4 X=0.1100 Y=0.0110 求 [X]补–[Y]补 = ? 解: [X]补 =0·1100 [Y]补 =0·0110 [–Y]补 =1·1010
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙里波特
2024-12-04 · TA获得超过5251个赞
知道大有可为答主
回答量:1.1万
采纳率:95%
帮助的人:645万
展开全部

所谓的“补码”,并非是“什么码”,而是正常的二进制数。

计算机使用二进制数。

八位数的范围是:0000 0000 ~ 1111 1111。

相当于十进制数:0 ~ 255。

出现进位,就是:2^8 = 256。

这些数,既没有小数点,也没有什么符号位。所以,它们都属于:无符号整数。

计算机中,只有加法器。运算规则就是:逢二进一。

两个八位数相加,竖式如下:

27 + 255,出现了进位 256。 和,就是:256 + 26 = 282。

本次计算,显然就是:无符号数的加法。 运算结果,非常正确。

.

但是,如果你忽略了进位(或者说舍弃了进位)呢?

不算进位,和,就少了 256。 这也就是:减去了 256。

那么,此时的和,就是:27 + 255-256 = 27-1 = 26。

所以,此时,实际上,就是【减法运算】!

由此,你就知道,“补码”的原理是什么了。

.

既然,加上 255,就是“减一”,

推广,+254 (1111 1110),就是-2 了。

还有,+253 (1111 1101),就是-3 了。

。。。 。。。

最后,128 (1000 0000),就是-128。

这些一对一对的数,正是“负数的补码”。

**重要的问题说三遍:************

*** 舍弃了进位,“补码”就出来了! ***

*** 舍弃了进位,“补码”就出来了! ***

*** 舍弃了进位,“补码”就出来了! ***

***********************

由此可知,“负数的补码”,它本来就是“无符号数”。

不用说,“零和正数的补码”,当然也是“无符号数”。

因此,“补码”的运算,也就要按照无符号数来运算,即:逢二进一。

“补码”,并不是由谁引入的,也不是由原码取反加一得来的。 

“补码”的来源,极其简单!

就是:计算机专家一时马虎,漏掉了符号位,“补码”就出来了。

但是,老外的算术水平太洼了,弄不清楚进位的事。 百般无奈,只好编造了:“机器数真值有符号数符号位正零负零原码反码补码正数三码相同负数取反加一符号位不变模同余符号位也参加运算时针倒拨正拨 ... ” 

这些,都是毫无用处的垃圾概念!

你就是把它们都背熟了、都会做了,你也不知道:加、减法,是怎么转换的。

当然,你如果能当上计算机老师,你就可以用这些,再去忽悠下一代学生。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式