资源描述:
《软考信息处理技术员教程重点精讲之算术运算.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软考信息处理技术员教程重点精讲之算术运算 下面是由希赛软考学院提供的软考信息处理技术员教程重点精讲之算术运算; 算术运算 1.定点加减运算 从原理上说,原码、反码、补码都能进行加减运算,但由于补码运算比较方便,所以大多数情况下都是采用补码进行加减运算。 补码加法公式如下。 [X+Y]补=[X]补+[Y]补 补码减法可以看作负数加法,这样可以使减法与加法使用同一个加法器,简化计算机设计,公式如下。 [X-Y]补=[X]补-[Y]补=[X]补+[-Y]补
2、由[X]补求[-X]补的方法是:[X]补的各位取反(包括符号位),末尾加1.补码运算时,符号位和码值一起参与运算,符号位相加后如果有进位,该进位应当被舍去。 例如,设二进制整数X=+1001,Y=+0101,求X+Y、X-Y的值。[X]补=01001,[Y]补=00101,[-Y]补=11011,符号位参与运算,过程如下。 其中,虚线内的1是进位,需要舍去。 在计算机中,数的表示范围是有限的,若运算结果超出该范围,就称为溢出,此时计算机要停止运算,进行中断处理。判断是否溢出,常用下述方法。
3、 ①单符号位判别法。设[X]补=Xs.X1X2…Xn,[Y]补=Ys.Y1Y2…Yn,二者的和(差)为[S]补=Ss.S1S2…Sn.当Xs和Ys不相等时,结果不会溢出。当Xs=Ys=0,Ss=1时,产生上溢。当Xs=Ys=1,Ss=0时,产生下溢。 ②进位位判别法。设两数运算时,各位产生的进位为:Cs.C1C2…Cn.其中,Cs为符号位产生的进位,C1为最高数值位产生的进位。 两个正数相加,当最高有效位产生进位(C1=1),而符号位不产生进位(Cs=0)时,发生上溢;两个负数相加,当最高有效位不产生进
4、位(C1=0),而符号位产生进位(Cs=1)时,发生下溢。 ③双符号为判别法。将符号位扩充到两位:S1和S2,用S1S2=00表示正数,S1S2=11表示负数。运算结束后,S1S2有四种不同的取值,含义分别如下。 S1S2=00:结果为正数,无溢出 S1S2=01:结果正溢 S1S2=10:结果负溢 S1S2=11:结果为负数,无溢出 2.浮点加减运算 一个浮点数的表示形式通常不惟一,常采用浮点数规格化形式,即规定尾数的最高数位必须是一个有效数,即其尾数F的绝对值
5、必须满足: 当基数R=2时, 当尾数F用原码表示时,规格化后尾数最高位总是1.当尾数F用补码表示时,规格化后尾数最高位与符号位不同,即当 时,应是0.1××…×的形式。而当 时,应是1.0××…×的形式。 设有两个浮点数X和Y,它们分别是X=2Ex×Fx,Y=2Ey×Fy.它们进行加减运算的规则是: 完成上述加减运算,需要包括下述步骤。 (1)零操作数检查。如果两个操作数X和Y中有一个数为0,那么就可得知运算结果而不再进行后继的操作。 (2)"对阶"操作。首先求出阶码之差
6、 ,若 ,说明X和Y阶码相同,可以直接进行尾数加减运算。若 ,则需要移动尾数来改变Ex和Ey,使之相等。一般采用"小阶向大阶看齐"的原则,通过向右移动小阶数据的尾数位,使得X和Y的阶码相同。 (3)尾数相加减。无论加法还是减法运算,都按加法进行操作,其方法与定点加减法运算相同。 (4)尾数规格化。按照定点加减法的判断准则,若尾数溢出,则应使尾数结果右移一位,阶码加1,称为右规格化。若尾数没有溢出,但数值部分的最高位与符号位相同,表明不满足规格化,此时应使尾数结果左移一位,阶码减1,重复执行直到数值部分最高
7、位与符号位不同为止,称为左规格化。 (5)舍入处理。在对阶或向右规格化时,尾数向右移动,这样被右移尾数的最低位部分就会丢掉,从而造成一定误差,此时需要舍入处理。一般采用下述舍入方法。 "0舍1入法".如果右移时被丢掉数位的最高位是0,则舍去,否则将尾数的末位加"1". "恒置1法".只要有数位被移出,就在尾数的末尾恒置"1". 3.浮点乘除运算 设有两个浮点数X和Y,它们分别是: X=2Ex×Fx Y=2Ey×Fy 浮点乘法运算规则是:X×Y=2(Ex+Ey
8、)×(Fx×Fy),即乘积的尾数是二者尾数之积,乘积的阶码是二者阶码之和。 浮点除法运算规则是:X÷Y=2(Ex-Ey)×(Fx÷Fy),即商的尾数是二者尾数之商,商的阶码是二者阶码之差。 与浮点数加减运算相同,浮点数乘除运算也大体分为5个步骤:零操作数检查、阶码加或减操作、尾数乘或除操作、结果规格化