2012-05-28 62 views
2

我有困難的時候理解IEEE 754四捨五入慣例:IEEE 754舍入到正無窮大

  • 回合正無窮大
  • 回合負無窮大
  • 偏到最近甚至

如果我有一個二進制數組成的二進制數的右邊9位,我需要使用3最右邊的位來確定四捨五入我會做什麼?

這是家庭作業,所以這就是爲什麼我對這個問題含糊不清......我需要這個概念的幫助。

謝謝!

+0

這不明確;請你可以給你的問題添加一個具體的例子。 –

+0

是的。 +0.100101110 我需要使用最右邊的3位將其舍入到正無窮大。 – melMPLS

回答

5

向正無窮大舍入意味着舍入的結果永遠不會小於參數。
向負無窮大回合意味着四捨五入的結果永遠不會比參數大。
四捨五入到最近的關係甚至意味着四捨五入的結果有時更大,有時小於(有時等於)參數。

四捨五入的值的二進制點之後+0.100101110到六個地方會導致

+0.100110 // for round towards positive infinity 
+0.100101 // for round towards negative infinity 
+0.100110 // for round to nearest, ties to even 

值被分割

+0.100101 110 

進入到被保持在比特和比特確定的結果四捨五入。由於該值爲正數,並且確定位不全爲0,向正無窮大舍入意味着將保留部分遞增1 ULP。

由於該值爲正數,因此向負無窮大舍入將丟棄最後一位。

由於第一切斷位爲1,而不是所有進一步的位爲0,則該值+0.100110+0.100101更接近原始的,所以結果是+0.100110

對於最近/偶數情況更有啓發性的是一個例子或兩個我們實際上有領帶的例子,例如,二進制點道道+0.1001到三位:

+0.100 1 // halfway between +0.100 and +0.101 

這裏,規則說要挑兩個最接近的值的一個與最後一位0(最後一位偶數),即+0.100該值向負四捨五入無窮。但四捨五入的+0.1011會向正無窮大舍入,因爲這次兩個最接近的值中較大的最後一位爲0.