早教吧 育儿知识 作业答案 考试题库 百科 知识分享

补码运算溢出判断的原理补码运算溢出时可以通过最高位与次高位进位来判断:若最高数值位向符号位的进位值与符号位产生的进位输出值不相同,则表明加减运算产生了溢出.但是为什么可

题目详情
补码运算溢出判断的原理
补码运算溢出时可以通过最高位与次高位进位来判断:若最高数值位向符号位的进位值与符号位产生的进位输出值不相同,则表明加减运算产生了溢出.但是为什么可以用这种方法判断呢?这种方法的原理是什么?
▼优质解答
答案和解析
5.2.2 溢出及补码溢出的判断 无论采用何种机器数,只要运算的结果大于数值设备所能表示数的范围,就会产生溢出. 溢出现象应当作一种故障来处理,因为它使结果数发生错误.异号两数相加时,实际是两数的绝对值相减,不可能产生溢出,但有可能出现正常进位;同号两数相加时,实际上是两数的绝对值相加,既可能产生溢出,也可能出现正常进位. 由于补码运算存在符号位进位自然丢失而运算结果正确的问题,因此,应区分补码的溢出与正常进位. [例5] 某数字设备用五位二进制表示数,计算 (1)9+3 (2)-9-3 (3)9+12 (4)-9-12 (1)[+9]补+[+3]补= 01001+ 00011 = 01100 = +12 正确; (2)[-9]补+[-3]补= 10111+ 11101 = 110100 = 10100(符号位进位自然丢失),其真值为-1100 = -12正确; (3)[+9]补+[12]补= 01001 + 01100 = 10101 其真值为-1011 =-11错误,产生了溢出; (4)[-9]补+[-12]补 = 10111+10100 = 101011 其真值为01011= +11 错误,产生了溢出. (1)、(2)两题结果均正确,查其最高位和次高位的进位位,不是均无进位产生,就是均产生进位;(3)、(4)两题结果均错误,查其最高位和次高位的进位位,只有一位产生了进位.此即为判断机器是正常进位还是溢出的基本依据,在微型机中可用异或电路来实现上述的判断.
看了补码运算溢出判断的原理补码运算...的网友还看了以下: