这个问题,我还之前没想过,刚才实验了下...
我们来分析下:
我们知道,在整型运算中,除数是不能为0的,否则直接运行异常。但是在浮点数运算中,引入了无限这个概念,我们来看一下Double和Float中的定义。
Double:
public static final double POSITIVE_INFINITY = 1.0 / 0.0;
public static final double NEGATIVE_INFINITY = -1.0 / 0.0;
Float:
public static final float POSITIVE_INFINITY = 1.0f / 0.0f;
public static final float NEGATIVE_INFINITY = -1.0f / 0.0f;
因为double里面没有完完全全的正儿八经的0,你看到的0,实际上可能是0.0000000000000...1,n个0之后忽然出来个1,那么就相当于除以一个最小的数,那么得到的值就会无穷大。然后无穷就是这么来的。
评论区