判断:计算机运算溢出检测机制,采用双符号位,00表示正号,11表示负号。如果进位将会导致符号位不一致,从而检测出溢出。结果的符号位为01时,称为上溢;为10时,称为下溢。
[A-B]补=[A]补+[-B]补。
[A]补=11 0101001。
[B]补=00 0110101 [-B]补=11 1001011。
11 0101001+11 1001011。
110 1110100。
结果的符号位为 10,所以结果有溢出,负溢。
在确定了运算的字长
和数据的表示方法后,数据的范围也就确定了。一旦运算结果超出所能表示的数据范围,就会发生溢出。发生溢出时,运算结果肯定是错误的。当两个同符号的数相加(或者是相异符号数相减)时,运算结果有可能产生溢出。
常用的溢出检测机制主要有进位判决法和双符号位判决法。双符号位判决法若采用两位表示符号,即00表示正号、11表示负号,则溢出时两个符号位就不一致了,从而可以判定发生了溢出。
双符号位怎么判断正负
双符号位,变形补码,是不存在的。
一个字节,就是八位二进制。
用一个符号位,则其表示范围是:-128 ~ +127。这是早有定论的事。
如果有两个符号位,其表示范围,就不对了。
哪有这种计算机?
如果真有,那么,以前成套的理论,就都得推翻。
根本不存在的事,某些人,竟然讲的头头是道!