在C语言中,整数的数值是以补码形式存放的,补码是什么意思啊?

 我来答
沙里波特
2021-09-29 · TA获得超过5728个赞
知道大有可为答主
回答量:1.1万
采纳率:96%
帮助的人:811万
展开全部

使用补码代表负数,就可以把减法,转化为加法运算。

那么,在计算机中只要有一个加法器,就可以做加、减法了。

使用补码的意义,就是简化了计算机的硬件。

 

常识:时钟倒拨 3 小时,可以用正拨 9 小时代替。

怎么计算,自己推导吧。

--------

两位十进制数,共有 100 个数字:00~99。

那么,减一,就可以用 +99 代替:

  25-1 = 24

  25 + 99 = (1) 24

取后两位,忽略进位 100,结果,不就是相同的吗?

只要利用一个“较大的正数”代替负数,就能把减法变加法了。

这个较大的正数,就是负数的补数

计算公式:-1 的补数=100-1 = 99。

     -2 的补数=100-2 = 98。

     。。。

--------

计算机中,使用的是二进制。

二进制的补数,就改称为补码

八位二进制数,共有 256 个数字:0000 0000~1111 1111。

那么,-1 的补码就是 1111 1111 = 255(十进制)。

同理,-2 的补码就是 1111 1110 = 254(十进制)。

。。。

最后,-128 的补码就是 1000 0000 = 128(十进制)。

计算公式:负数的补码=【256+这个负数】

零和正数,不需要求补数(补码),直接计算即可。

真的不能再低啦
推荐于2018-04-16 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.9万
采纳率:0%
帮助的人:2.8亿
展开全部
补码的设计目的是:

⑴使符号位能与有效值部分一起参加运算,从而简化运算规则.

⑵使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友73d5a3a
2011-12-26 · 超过12用户采纳过TA的回答
知道答主
回答量:114
采纳率:0%
帮助的人:54.6万
展开全部
二进制总知道吧?用补码可以把减法当加法,即用加法器做减法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-12-26
展开全部
百度百科说得很详细了:
http://baike.baidu.com/view/377340.html?wtp=tt
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式