有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java除以1.0/0.0:输出为无穷大

double d=1.0/0.0;

输出为Infinity

double d=1/0;

输出为ArithmeticException

这两者有什么区别? 这里的无限是什么意思


共 (3) 个答案

  1. # 1 楼答案

    浮点数有一种编码“无穷大”的方法。所以无穷大是双变量的有效值。整数变量没有此选项。因此会抛出一个异常

  2. # 3 楼答案

    从数学上讲,除零是未定义的,尽管可以粗略地认为它是无穷大。(稍微严格一点,对于x的任何值,它都大于x。)

    IEEE754浮点双精度(Java使用)表示无穷大。这是1.0/0.0的结果。从这个意义上说,1.0/0.0是可计算的,因为它发生在浮点运算中

    整数类型没有无穷大的表示,因此会引发异常1 / 0是用整数算术计算的