带符号位的二进制运算,正正相加得负数

两个以二进制表示的正数相加,结果为负数。
0111 0101 + 0001 1000 = 1000 1101
正正相加,却得了负数? 这个怎么解释?
请教高手。谢谢!
相反的,负负相加又得到正数,这又如何解释呢?
比如 -97-88=-185 而用二进制运算的时候,其结果就成了:
1001 1111 + 1010 1000 = 0100 0111
这如何解释??

楼主算的对,在计算机里面,就是“符号位直接参与数值运算”。

这就是“溢出”。
CPU在进行了运算之后,会自动判别结果的正确性,出现了上述情况,CPU就会给出“溢出标志(OV)”。

如果是计算器,一般是显示出来个“E”符号,错误的结果就不显示了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-05
囧,你怎么算的
符号位直接参与数值运算。你强。
第2个回答  2010-08-05
天下还有这苕的人!瞪大眼睛看看,是这回事吗?

带符号位的二进制运算,正正相加得负数
如果是计算器,一般是显示出来个“E”符号,错误的结果就不显示了。

二进制 正正相加得负数?
回答:溢出错位,简单点三位000,最高位当作符号位的话,那么这三位能表示的最大正数是多少?是011=3而如果你用010+010就相当于2+2实际结果为4,可是3位二进制位表示的有符号数最大是3,不能表示4,这就是所谓的溢出,即010+010=100,一般两正数相加结果是负数,就说明溢出错误。

二进制的正负转换
十进制数,正负数互换,相差的只是个符号。二进制数,正负数互换,则要把全部数码(包括符号位)都求反加1。+5:0101 -5:1010+1 = 1011 -5:1011 +5:0100+1 = 0101

如何用二进制数表示正数的负数?
已知:X=-0.0101,Y=0.1001 则:X+Y=-0.0101+0.1001=0.09 变形补码,又称”模4补码“即用两个二进制位来表示数字的符号位,其余与补码相同。变形补码,用“00”表示正,用“11”表示负,也称为模4的补码。用变形补码进行加减运算时,当运算结果的符号位出现“01”或者“10”时,则表示产...

计算机的二进制带符号运算为什么用0表示正数1表示负数
但对于二进制运算而言,原码的运算不够方便,当两个数相加时,先要判断这两个数的符号是否相同,符号不同的话,还要判断哪一个数的绝对值更大.所以在计算机中,通常都是采用补码形式。正整数的补码与原码形式相同,例如+7的8位二进制补码是00000111;而负整数的补码则可以通过下列方式得到:将这个负整数的...

两个二进制有符号数(10111010)与(1101001)相加,结果是什么是否溢出_百 ...
有符号数(1011 1010)与(110 1001)相加。第二个数,少了一位。将其补齐八位,应该在左边添上 1。加法运算如下:1011 1010 + 1110 1001 = (1) 1010 0011 进位自动舍弃。结果就是一个:负数。负数+负数,得出负数。因此,就没有溢出。

关于微机原理有符号数相加溢出问题怎么解决
72+98=-42,两正数相加结果为负,这就是溢出。另外一个溢出的情况是:两负数相加结果为正。溢出产生的原因就是你所想要表示的数超过的所给位数的最大能力,八位二进制数用补码表示数的范围在+127~-128,你这道题的结果是170,已超出这个范围,所以就溢出了。解决的办法就是增加位数,这道题只要把...

为什么在二进制不存在负数?
总的来说,负数在二进制中的存在与否,是由编码方式和规则决定的。在有符号编码中,负数是通过符号位和加减运算的特殊处理实现的;而在无符号编码中,负数的概念并不适用,它更适用于表示纯粹的数值,而非有正负之分的量值。在深入理解计算机底层原理时,这种差异显得尤为关键,它揭示了数字世界的底层逻辑...

二进制的运算
二进制的运算如下:1、无符号整数,从右往左依次用二进制位上的数字乘以2的n次幂的和(n大于等于0)。2、带符号的二进制整数,除去最高位的符号位(1为负数,0为正数),其余与无符号二进制转化为十进制方法相同。3、小数二进制转化为十进制数,从小数点后第一位上的二进制数字乘以2的负一次方加...

二进制运算方法(八位带符号的运算)
1、首先在桌面里,打开开始菜单,如图所示。2、然后在所有程序里,选择它的次级菜单,最后在附件里,选择计算器。3、打开以后,会出来一个小小的计算器的界面,如图所示。4、这时没有发现进行二进制的操作方法,点击查看把它改为科学型。5、输入一个“15”进行运算,这时是十进制的数字。点击二进制的...

相似回答