为什么负数在内存中要以二进制补吗的形式存放?

请高手详细解答谢谢了这个问题困扰我很久正整数存放在内存中就是他的二进制为什么负数是补吗?为什么要选择这样做?... 请高手详细解答 谢谢了 这个问题困扰我很久 正整数存放在内存中就是他的二进制 为什么负数是补吗?为什么要选择这样做? 展开
 我来答
做而论道
高能答主

2011-02-21 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3.1万
采纳率:82%
帮助的人:8487万
展开全部
数字计算机里面,只有加法器,没有减法器,减法(或负数)必须改用加法进行。
在十进制,减去28,和加上72,效果相同(忽略进位时)。
28,72,互为补数。
在二进制,减去1101,和加上0011,效果也是相同的(忽略进位时)。
1101,0011,互为补码,对其中一个求反加一,即可求出另一个。
这就是说,用补码当做负数,就可以用加法代替减法。
原码和反码,就没有这个功能,所以内存中就没有它们。
详细解释,可以参考:
http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/d92cc986c2a1523bc75cc380.html
匿名用户
2011-02-19
展开全部
告诉你原理,1111111111111111的最高位代表负数没错,剩下的15位全是1,在二进制里就是能表示出来的最大的正数了,你想,一个最大的数前面加个负号,那么这个数是不是就成为了最小的负数?电脑里存放的十进制都是小数点前面的数,也就是整数。10进制里最小的负整数,那当然就是-1了。
明白了就给我加分吧。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朝酒晚舞8031
2011-02-19 · TA获得超过468个赞
知道答主
回答量:269
采纳率:0%
帮助的人:135万
展开全部
负数用补码形式来代表,就可以和无符号数一样进行运算,使用同一个加法器。
这样一来,计算机里面,只要有一个加法器,就可以进行加、减运算了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
blackhawkwang
2011-02-19 · TA获得超过180个赞
知道小有建树答主
回答量:444
采纳率:0%
帮助的人:409万
展开全部
首先表示负数第一位是符号位
如果用普通方式,则会出现+0,-0的情况。
00000000和10000000.表示了两个符号不同的0.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yaoyi73
2011-02-19 · TA获得超过942个赞
知道小有建树答主
回答量:934
采纳率:50%
帮助的人:777万
展开全部
因为电脑只认识0和1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式