【计算机组成原理】18-浮点数的加减法运算

???? = ???????? × ????????????
???? = ???????? × ????????y
【计算机组成原理】18-浮点数的加减法运算
???? = 0.1101 × 201
???? = (−0.1010) × 211

一、对阶

阶码按小阶看齐大阶的原则

对阶的目的是使得两个浮点数阶码一致,使得尾数可以进行运算

【计算机组成原理】18-浮点数的加减法运算

二、尾数求和

◆ 减法运算转化为加法运算:A - B = A + (-B)
◆ 使用补码进行运算

【计算机组成原理】18-浮点数的加减法运算

三、尾数规格化

左移(阶码-)

◆ 对补码进行规格化需要判断两种情况:S>0和S<0

S[补] = 00.1xxxxxx(???? > 0)
S[补] = 11.0xxxxxx(???? < 0)

符号位与最高位不一致

如果不满足此格式,需要进行左移,同时阶码相应变化,以满足规格化
【计算机组成原理】18-浮点数的加减法运算
【计算机组成原理】18-浮点数的加减法运算

右移(阶码+)

◆ 一般情况下都是左移
◆ 双符号位不一致下需要右移(定点运算的溢出情况)
◆ 右移的话则需要进行舍入操作

舍入
◆ “0舍1入”法(二进制的四舍五入)

S 补 = 10.10110111
S 补 = 11.01011011(1)

四、溢出判断

定点运算双符号位不一致溢出
浮点运算尾数双符号位不一致 不算溢出(因为尾数双符号位可以进行右规)
浮点运算主要通过阶码双符号位判断是否溢出(如果规格化后,阶码双符号位不一致,则认为是溢出)

【计算机组成原理】18-浮点数的加减法运算