2010-01-27 92 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