两个二进制有符号数(10111010)与(1101001)相加,结果是什么是否溢出

娱乐小八卦啊a
高粉答主

2020-05-08 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:260 获赞数:117890

向TA提问 私信TA
展开全部

如果是单字节8位数的话结果是 00100011,不溢出因为第7位和第6位都有进位,所有结果不溢出。

溢出的判别:

计算机中判别溢出的方法通常采用双高位判别法。双高位判别法利用符号位及最高数值位的进位情况来判断是否发生了溢出。为此,需引进两个符号: Cg和Cp.

Cs:若符号位发生进位,则Cs=1;否则Cs=0。

Cp:若最高数值位发生进位,则Cp=1;否则Cp=0

当两个正数补码相加时,若数值部分之和大于2n-1,则数值部分必有进位Cp= 1;而符号位却无进位Cg=0。这时CsCp的状态为“01", 发生正溢出。

当两个负数补码相加时,若数值部分绝对值之和大于2n-1,则数值部分补码之和必小于2n-1,Cp=0;而符号位肯定有进位Cg= 1,这时CSCP的状态为“10”, 发生负溢出。当不发生溢出时,Cg和Cp的状态是相同的,即CgCp的状态为“00”或 “11"。

扩展资料

有符号数是针对二进制来讲的。用最高位作为符号位,“0”代表“+”,“1”代表“-” ;其余数位用作数值位,代表数值。

有符号数的表示:计算机中的数据用二进制表示,数的符号也只能用0/1表示。一般用最高有效位(MSB)来表示数的符号,正数用0表示,负数用1表示。

有符号数的编码方式,常用的是补码,另外还有原码和反码等。用不同二进制编码方式表示有符号数时,所得到的机器数可能不一样,但是真值是相同的。

上面都是两个8bit相加,从左至右第一个bit位是符号位,第二个bit位是最高数值位,如果结果超出8bit,则超出的位不会在计算机中存储,因此造成溢出现象

德昂当
推荐于2017-09-17 · TA获得超过2842个赞
知道大有可为答主
回答量:1074
采纳率:100%
帮助的人:784万
展开全部
如果是单字节8位数的话
结果是 00100011 ,不溢出
因为第7位和第6位都有进位,所有结果不溢出。
追问
第六位和第七位都有进位为什么还不会溢出?
追答
溢出是说数据溢出,计算结果超出范围。
对有符号数来说,进位就不一定会数据溢出了。
有符号数相加,6,7位不进位,或同时进位,都不溢出。
只是其中一个进位的话,就会溢出。
8位有符号数,范围是 -128--127
比如 -1 + -1 = -2
1111 1111 + 11111111 = 11111110 这6,7位都进位了,但是数据并没有溢出
相反 127+1 =128
0111 1111 + 00000001 = 10000000 只有6位进位,7位并没有进位,但是数据溢出了
因为128超出范围了,而且计算结果 10000000 对有符号数来说是 -128
127+1=-128 显然是溢出了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nkcaster
2011-04-30 · TA获得超过4745个赞
知道大有可为答主
回答量:1688
采纳率:87%
帮助的人:769万
展开全部
结果是100100011
是否溢出要看范围
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lanshimedia
2012-09-13 · TA获得超过329个赞
知道答主
回答量:200
采纳率:0%
帮助的人:51.6万
展开全部
100
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式