如果你准备考计算机专业研究生,小编敬佩你的勇气,作为专业难度很高的计算机专业来说,一定要全力备考。本文计算机考研小编整理分享“2022计算机考研【组成原理】知识梳理:浮点数的表示与运算”相关内容,一起来看看吧。
两浮点数进行加法和减法的运算规则即操作过程大体分为四步:
1.0操作数的检查
判断两个操作数x或y中有一个数为0,则直接得出结果
2.比较阶码大小并完成对阶
判断两个操作数的阶码是否相同,如果相同则直接进行尾数的加减法运算。如果不同则需要使两个操作数的阶码相同即对阶,首先求出两个数的阶差,由于尾数左移会引起最高有效位的丢失,造成很大的误差,尾数右移虽引起最低有效位的丢失,但造成的误差较小,因此对阶操作规定使尾数右移,尾数右移后阶码作相应增加,其数值保持不变。显然,一个增加后的阶码与另一个阶码相等,增加的阶码一定是小阶。
因此对阶的原则是小阶向大阶看齐,即小阶的位数向右移位(相当于小数点左移)每右移一位,其阶码加1,直到两数的阶码相等为止,右移得位数等于阶差。
3.尾数进行加或减法运算
4.结果规格化并进行舍入处理
规格化:
1/2 =< |M| < 1
(M是小数,所谓M>=1/2 即:|M|>=0.1,因为是按二进制处理,1/2即右移一位即0.1)
但在浮点运算中,尾数求和结果的绝对值大于1(即溢出符号位为01或10),叫做向左破坏了规格化;此时将尾数运算结果右移以实现规格化表示,称为向右规格化;尾数右移一位,阶码加1;以保证浮点数大小不变;
运算结果的绝对值小于1/2,叫做向右破坏规格化,此时将尾数结果左移实现规格化表示,称为向左规格化;尾数左移一位,阶码减1,以保证浮点数大小不变;
(1)尾数用原码表示,[S]原=Sf.S1S2....Sn,如果尾数未发生溢出,但S1=0,则向右规格化,即S1必须等于1,否则需要进行规格化处理
(2)尾数用补码来表示,[S]补=Sf.S1S2....Sn,如果尾数未发生溢出,但Sf 异或 S1=0,即Sf和S1相同,则向右破坏规格化
浮点数的溢出是以阶码溢出表现出来的(因为如果是尾数溢出可以通过相应的右移处理,所以尾数溢出称为假溢出)。在加减法运算过程中要检查是否产生了溢出;若阶码正常加(减)运算正常结束;若阶码溢出,则要进行相应处理。
以上是考研小编整理的"2022计算机考研【组成原理】知识梳理:浮点数的表示与运算"内容,更多计算机专业考研资讯内容,敬请关注计算机考研专业备考频道~
评论列表 人参与