Ver*_*ian 21 floating-point binary rounding
关于IEEE-754单精度浮点,你如何执行舍入到最近,在所需位置(默认和最常见的模式)中最接近偶数的四舍五入?
基本上我有保护位,圆位和粘滞位.因此,如果我们将它们组成一个向量并将其称为GRS,则以下规则适用:
G = 0,向下舍入(什么都不做)G = 1,和,RS == 10或RS == 01向上舍入(向尾数添加一个)GSR = 111,圆到均匀所以我不知道如何进行最接近的回合.任何帮助是极大的赞赏.
Ale*_*nze 32
只是为了确保我们在同一页上,G是三个中最重要的位,R接下来S可以被认为是最不重要的位,因为它的值部分代表在计算中被截断的更低有效位.这三个位仅在进行计算时使用,并且在计算之前或之后不存储在浮点变量中.
这是你应该为了使用四舍五入结果到最接近的偶数做什么G,R以及S:
GRS - 动作
0xx - 向下舍入=什么都不做(x表示任何比特值,0或1)
100 - 这是一个平局:如果G之前的尾数位是1,则向上舍入,否则向下舍入=什么都不做
101-向上舍入
110 - 向上舍入
111 - 向上舍入
通过在尾数的最低有效位位置之前将尾数加1来完成舍入G.如果尾数溢出(它将存储的23个最低有效位变为零),则必须向指数加1.如果指数溢出,则根据数字的符号将数字设置为+无穷大或无穷大.
在平局的情况下,如果尾数是奇数,则在尾数上加1,如果是偶数,则不添加任何内容.这就是使结果四舍五入到最接近的偶数值的原因.