在Java中,(Number/0)抛出ArithmeticException while(Number/0.0)= Infinity。 这是为什么发生?在Java中抛出ArithmeticException
回答
因为IEEE-754浮点数有无穷大的表示,而整数没有。
换句话说,int
中的每个位模式表示正常整数;浮点值是相当具有+/-无穷更加复杂,“不是一个数字”(NaN)值,标准值,低于正常价值等
你也可以检查哪些说JLS:
15.17.2除法运算符
另一方面,如果整数除法中除数的值为0,则抛出 ArithmeticException。
浮点除法的结果由 IEEE算术的规格来确定: 如果结果是不NaN,则结果的符号是正的,如果两个操作数具有 相同的符号,负如果操作数有不同的标志。
将零非零有限值除以零将导致有符号无穷大。 标志由上述规则决定。
谢谢先生。它帮助了很多。 – Mohit 2010-01-27 13:25:14
的IEEE浮点标准,几乎所有现代处理器的支持,指定每个浮点运算,包括除数为零,有一个明确的结果。标准支持有符号零,以及无穷大和NaN(不是数字)。有两个零点,+0(正零点)和-0(零点零点),这样可以消除分割时的不确定性。在IEEE 754算法中,当a为正时,a + +为正无穷大,a为负时为负无穷大,a =±0时为NaN。取而代之,无穷符号会改变。
除零以外的整数通常与浮点处理方式不同,因为结果没有整数表示。有些处理器在尝试将整数除以零时会生成一个异常,但其他处理器会简单地继续并为该除法生成不正确的结果。结果取决于如何实施分割,并且可以是零,或者有时是最大可能的整数。
谢谢先生。它帮助了很多。 – Mohit 2010-01-27 13:24:41
- 1. FindControl()方法抛出ArithmeticException?
- 2. Java中的某些BigDecimal数字在分割时会导致抛出ArithmeticException
- 3. 为什么Java中两个BigDecimal数字的划分会抛出ArithmeticException?
- 4. 抛出:IllegalArgumentException在Java中URI
- 5. 在Java中抛出异常
- 6. Java抛出java.io.FileNotFoundException
- 7. Java抛出NumberFormatException
- 8. java中的抛出规则
- 9. 在Java中抛出多个异常
- 10. 在java 8流foreach中抛出异常
- 11. 在Java中抛出简单的异常
- 12. resultset.last()在java中抛出一个异常
- 13. java在我的代码中抛出java.util.ConcurrentModificationException
- 14. 在java中访问hdfs抛出错误
- 15. 在Java中使用vtd-xml抛出java.lang.UnsupportedClassVersionError
- 16. 如何在java中抛出SystemException?
- 17. Java中的抛出和抛出的区别澄清
- 18. Java void sendUrgentData()抛出SocketException
- 19. ReplaceAll java抛出异常
- 20. Java抛出与SortedSet异常
- 21. java抛出异常java.lang.IndexOutOfBoundsException:
- 22. REST API的Java:抛出java.lang.ClassNotFoundException:com.tutorialspoint.User
- 23. Java:抛出自身异常(?)
- 24. java:类抛出异常
- 25. java抛出检查异常?
- 26. Java尝试抛出问题
- 27. OrientDB Java jdbc抛出MethodNotFound
- 28. Java不抛出异常
- 29. Java - EnumSet.add(枚举),抛出NullPointerException
- 30. Java:异常抛出类?
如果'浮点'标签被应用于每个关于浮点数的问题,那么您将会拥有另一个金徽章! – 2010-01-27 13:04:15
谢谢先生。它帮助了很多。 – Mohit 2010-01-27 13:24:12