Floating point 四舍五入IEEE 754浮点数

Floating point 四舍五入IEEE 754浮点数,floating-point,binary,rounding,Floating Point,Binary,Rounding,我知道IEEE754标准支持4种舍入模式,我只是想确保我真正理解每种模式。下面的例子正确吗 •向正无穷大舍入:这是否意味着我们向LSB添加一个,无论它是(0还是1) 假设我们有1.1010100000000…00向正无穷大取整意味着我们做+1,所以我们得到1.1010100000000…01,同样当我们有1.10101000000…01,我们需要向正无穷大取整,我们做+1,我们得到1.1010100000…10 •向负无穷大舍入:我们向LSB添加0意味着我们什么也不做(意味着它与截断模式相同),

我知道IEEE754标准支持4种舍入模式,我只是想确保我真正理解每种模式。下面的例子正确吗

•向正无穷大舍入:这是否意味着我们向LSB添加一个,无论它是(0还是1)

假设我们有1.1010100000000…00向正无穷大取整意味着我们做+1,所以我们得到1.1010100000000…01,同样当我们有1.10101000000…01,我们需要向正无穷大取整,我们做+1,我们得到1.1010100000…10

•向负无穷大舍入:我们向LSB添加0意味着我们什么也不做(意味着它与截断模式相同),或者我们是否将LSB更改为0(如果1,我们将其更改为0,如果0,我们将其保持为0)

•截断模式:只需切断GRS位

•接近最接近的偶数:我从
现在已经很清楚了。

您的问题表明您是从实际实现的角度来考虑的,但是更容易用更简单、更抽象的术语来考虑舍入策略,然后实现自然到位

除了几个细节,你基本上是对的

  • 向+inf舍入表示如果结果不准确,则应选择两个候选值中最接近+inf的值。首先,在符号幅度中,后一种可能性仅意味着,如果结果为正,则在计算的有效位上增加一个。如果结果是否定的,那么“GRS位的斩波”是正确的,您建议对截断模式执行的操作。(思考两秒钟应该会让您相信,向+inf进位和截断在负结果上重合是正常的。)第二,如果结果是精确的(这意味着在您正在考虑的实现中GRS位都是零),则应按原样返回计算的位,即使结果是正的

  • 类似地,向-inf取整与正结果的截断一致,并对应于向不精确的负结果的有效位添加一


谢谢您的回复。请问“两位候选人”是什么意思?您指的是添加一位,而不是添加一位作为两位候选人?@Hasanhammud“两位候选人”,当结果不完全是可表示的浮点值时,请参考与数学结果最接近的两个可表示的浮点值。实际上,它们是“加一”和“不加一”对于有效位,请记住,在符号幅度中,向负结果的有效位加一会使结果更低(离零更远)。好的,最后一个例子,我想我理解了。因此,用1.1010101(010)表示负数的幅度如果括号中的数字是GRS,那么我的正无穷大舍入值就是1.1010101。如果舍入值是负无穷大,我在LSB中加1,使其更倾向于负无穷大。对吗?@PascalCuoq