二进制补码计算,关于溢出的问题!

例如-3-6=-9书上举的例子,如果用4位二进制计算,这样会溢出!为什么用"位扩增,用5位以上的二进制补码表示"就可以解决了??打错字了,是“位扩展”... 例如-3-6=-9
书上举的例子,如果用4位二进制计算, 这样会溢出! 为什么用"位扩增,用5位以上的二进制补码表示"就可以解决了??
打错字了,是“位扩展”
展开
 我来答
做而论道
高能答主

2022-03-11 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部
溢出,一般来说,就是指“容器太小”。
无论什么进制,都有可能会溢出。
比如说,电话号码,由 7 位,升到 8 位,这是为什么呢?
就是因为 7 位,容纳不了那么多的号码,不升位,将会发生溢出。
计算机领域中的溢出,是指数据大小,超出了计数编码所能表示的范围。
早期的计算机,年份,是以两位数来记录:00~99。
那么 1900、2000 年,就分辨不清了,到了 2000,还当成 1900 年!
后来,改为了四位数,这才渡过了千年危机。
计算机中,整型数是 16 位的,长整型是 32 位数。
当你的数据,超出了 16 位,如果继续使用“整型数”来存放,就会溢出。
对于你的题目,4 位不行,5 位就可以,就是这个道理。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙里波特
2024-11-29 · TA获得超过5248个赞
知道大有可为答主
回答量:1.1万
采纳率:95%
帮助的人:632万
展开全部

如果是四位的补码,其表达范围就是:-8 ~ +7。

当“正+正”或“正-负”时,就有可能大于+7,就是正溢出。

当“负+负”或“负-正”时,就有可能小于-8,就是负溢出。

-3 -6 = -9,显然就是溢出了。

如果是五位的补码,其表达范围就是:-16 ~ +15。

-9,就没有超出范围,不会溢出。

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式