带符号数的编码
如何判断溢出
一.判断溢出的两种方法:
1.利用运算时符号位的进位和数值最高位的进位进行比较,若进位相同则没有溢出,否则,溢出
2.采用双符号位判断溢出,若双符号位(00/11)则没有溢出,若01,则负溢出,若10则正溢出
(上溢出时,若为正数则称正溢,为负数则称负溢)
上溢时计算机无法继续工作,弹出提示信息
二.计算机是如何实现判断进位是否相同的?
采用“异或门”进行实现,Cf^C=0, 则未溢出,Cf^C=1,则溢出(其中Cf/Cn代表符号位的进位,C/Cn-1代表数值最高位的进位)
知识补充:异或运算——1^1=0 0^0=0 1^0 =1 0^1=1;即参与异或运算的两个数字若相同则结果为0,若不同,则结果为1
取巧判断是否溢出的方法,算出补码范围,将要判断的数转为十进