【计算机组成原理】18-浮点数的加减法运算
???? = ???????? × ????????????
???? = ???????? × ????????y
???? = 0.1101 × 201
???? = (−0.1010) × 211
一、对阶
阶码按小阶看齐大阶的原则
对阶的目的是使得两个浮点数阶码一致,使得尾数可以进行运算
二、尾数求和
◆ 减法运算转化为加法运算:A - B = A + (-B)
◆ 使用补码进行运算
三、尾数规格化
左移(阶码-)
◆ 对补码进行规格化需要判断两种情况:S>0和S<0
S[补] = 00.1xxxxxx(???? > 0)
S[补] = 11.0xxxxxx(???? < 0)
符号位与最高位不一致
如果不满足此格式,需要进行左移,同时阶码相应变化,以满足规格化
右移(阶码+)
◆ 一般情况下都是左移
◆ 双符号位不一致下需要右移(定点运算的溢出情况)
◆ 右移的话则需要进行舍入操作
舍入
◆ “0舍1入”法(二进制的四舍五入)
S 补 = 10.10110111
S 补 = 11.01011011(1)
四、溢出判断
◆ 定点运算双符号位不一致为溢出
◆ 浮点运算尾数双符号位不一致 不算溢出(因为尾数双符号位可以进行右规)
◆ 浮点运算主要通过阶码的双符号位判断是否溢出(如果规格化后,阶码双符号位不一致,则认为是溢出)