1)1.0/0的结果是什么?为什么?
1.0/0的结果是Infinity(正无穷大),1.0是浮点数,0是整数,作除法时,0会转变为0.0,这里的0.0不是整数“0”,是一个无限接近0的小数,所以会得到无穷大这个结果。
2)0/0的结果是什么?为什么?
这里的结果会得到异常:java.lang.ArithmeticException: / by zero。
两个0都是整数,机器在执行除法时,如果 分子分母均为整数,按照数学的逻辑,会得到异常。
3)0.0/0.0的结果是什么?为什么?
0.0/0.0的结果是NaN。NaN即Not-a-Number,翻译过来就是“不是数字”(翻译的比较直观,哈哈)。我们看看NaN的定义:public static final double NaN = 0.0d / 0.0。
着了分子分母的两个0.0,都不是整数意义上 的0,在计算机的世界中,代表的是无限接近0的 数,但是无限接近0的数有很多,没有统一的结果,所以这个的结果被定义为NaN。
4) NaN在哪些情况下会出现?
查询资料后,得出以下数据:
0/0或infinity/infinity;对NaN进行运算;
5)负无穷大的内部格式是怎么样的?
负无穷大的存储方式为:Float二进制表示: 1 1111 1111? 000 0000 0000 0000 0000 0000 共32位