舍入IEEE 754浮点数

时间:2018-04-07 18:54:21

标签: floating-point binary rounding

据我所知,IEEE 754标准支持4种舍入模式,我只想确保每种模式都很好理解。以下示例是否正确?

•向正无穷大四舍五入:这是否意味着无论它是什么(0或1),我们都会向LSB添加一个?

假设我们有1.1010100000000 ... 00向正无穷大四舍五入意味着我们做+1所以我们得到1.1010100000000 ... 01&类似地,当我们有1.10101000000..01并且我们需要向正无穷大舍入时我们做+1而我们得到1.1010100000 ... 10?

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

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

•向最接近的地方转:我从中学到了一个 How to perform round to even with floating point numbers现在非常清楚。

1 个答案:

答案 0 :(得分:1)

您的问题表明您正在考虑实际实施,但更容易用更简单,更抽象的术语来考虑舍入策略,然后实现自然而然地落实到位。

除了一些细节之外,你大部分都是正确的。

  • 向+ inf舍入意味着如果结果不准确,则应选择与两个候选中最接近+ inf的值。首先,在符号幅度中,后一种可能性仅意味着在有效数上加一,如果结果为正,则计算。如果结果是否定的,那么“切断GRS位”,你建议为截断模式做的事情是正确的。 (考虑它两秒钟应该说服你向+ inf进行舍入并且截断与负结果重合是正常的。)其次,如果结果是精确的(这意味着GRS位在实现中都是零,你正在考虑),即使结果为正,计算位也应按原样返回。

  • 类似地,向-inf舍入与对正结果的截断同时发生,并且对应于将不正确的负结果的有效数加一。