2010-01-27 85 views

回答

13

因爲IEEE-754浮點數有無窮大的表示,而整數沒有。

換句話說,int中的每個位模式表示正常整數;浮點值是相當具有+/-無窮更加複雜,「不是一個數字」(NaN)值,標準值,低於正常價值等

+0

如果'浮點'標籤被應用於每個關於浮點數的問題,那麼您將會擁有另一個金徽章! – 2010-01-27 13:04:15

+0

謝謝先生。它幫助了很多。 – Mohit 2010-01-27 13:24:12

0

你也可以檢查哪些說JLS:

15.17.2除法運算符
另一方面,如果整數除法中除數的值爲0,則拋出 ArithmeticException。

浮點除法的結果由 IEEE算術的規格來確定: 如果結果是不NaN,則結果的符號是正的,如果兩個操作數具有 相同的符號,負如果操作數有不同的標誌。
將零非零有限值除以零將導致有符號無窮大。 標誌由上述規則決定。

+0

謝謝先生。它幫助了很多。 – Mohit 2010-01-27 13:25:14

3

From here

的IEEE浮點標準,幾乎所有現代處理器的支持,指定每個浮點運算,包括除數爲零,有一個明確的結果。標準支持有符號零,以及無窮大和NaN(不是數字)。有兩個零點,+0(正零點)和-0(零點零點),這樣可以消除分割時的不確定性。在IEEE 754算法中,當a爲正時,a + +爲​​正無窮大,a爲負時爲負無窮大,a =±0時爲NaN。取而代之,無窮符號會改變。

除零以外的整數通常與浮點處理方式不同,因爲結果沒有整數表示。有些處理器在嘗試將整數除以零時會生成一個異常,但其他處理器會簡單地繼續併爲該除法生成不正確的結果。結果取決於如何實施分割,並且可以是零,或者有時是最大可能的整數。

+0

謝謝先生。它幫助了很多。 – Mohit 2010-01-27 13:24:41