|
知识路径: > 计算机系统基础知识 > 算术运算和逻辑运算 > 二进制数运算方法 > 算术运算 > 浮点运算 >
|
相关知识点:2个
|
|
|
|
设有浮点数X=M×2i,Y=N×2j,求X±Y的运算过程如下。
|
|
|
(1)对阶。使两个数的阶码相同。令K=|i-j|,把阶码小的数的尾数右移K位,使其阶码加上K。
|
|
|
|
(3)结果规格化并判溢出。若运算结果所得的尾数不是规格化的数,则需要进行规格化处理。当尾数溢出时,需要调整阶码。
|
|
|
(4)舍入。在对结果进行右移时,尾数的最低位将因移出而丢掉。另外,在对阶过程中也会将尾数右移使最低位丢掉。这就需要进行舍入处理,以求得最小的运算误差。舍入处理的方法如下。
|
|
|
①截断法。将要保留的数据末位右边的数据全都截去,不管数据是0还是1。
|
|
|
②末位恒1法。将要保留的末位数据恒置1,不管右移丢掉的数据是0还是1。
|
|
|
③0舍1入法。舍去的数据为0时,保持末位原始状态。若舍去的数据为1,则将末位加1。这类似于十进制中的四舍五入。但当数据为0.1111…1,即在尾数全为1的特殊情况下,这种舍入会再次产生溢出。遇到这种情况可用硬件判断,并在舍去1时末位不再加1。
|
|
|
(5)溢出判别。以阶码为准。若阶码溢出(超过最大值),则运算结果溢出;若阶码下溢(小于最小值),则结果为0,否则结果正确无溢出。
|
|
|