浮点加减法(个人见解有待改正)

    科技2024-11-17  8

    例: x=2^-0110.100101, y=2^-010-0.011110 将浮点数分阶码和尾数两部分写, 并且均采用补码(用于计算▲E和尾数的加减),均采用双符号位: 阶码 尾数 X 11 101 00.100101 Y 11 110 11 .100010 其中分步执行这里只说一下注意点 1)对阶的时候要向右移动小阶的尾数,(▲E=Ex-Ey;>0则Y小,<0则X小,=0则相等不用对阶) 移动的位数与▲E有关 2)尾数的加减与定点加减法一样,采用补码进行运算 3)结果的规格化, ①两个符号位不相同,右规:两个符号位不同,说明运算结果溢出。此时要进行右规,即把运算结果的尾数右移一位。需要右规的只有如下两种情况:01××××和10××××。01×××右移一位的结果为001×××;10××××右移一位的结果为110×××。最后将阶码(指数)+1。 ②两个符号位相同,但是最高数值位与符号位相同,左规:两个符号位相同,说明没有溢出。此时要把尾数连续左移,直到最高数值位与符号位的数值不同为止。需要左规的有如下两种情况:111×××和000×××。111×××左移一位的结果为11×××0;000×××左移一位的结果为00×××0。最后将阶码(指数)减去移动的次数。 4)舍入处理 较好理解不再叙述 5)判溢出 看阶码的符号位; 尾数若相加是最高位进位则右移尾数阶码加一重新对其(暂无例子)。

    Processed: 0.046, SQL: 8