校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > java语言 > 数据类型的长度和转换
题目

java中3*0.1 == 0.3 将会返回什么?true 还是 false?

A.A true

B.B false

解答

正确答案是 B

答案是B:false,因为浮点数不能完全精确的表示出来,一般都会损失精度。
但是思路是一个比较复杂的浮点实现问题,具体可能参考(待录文章16),既跟浮点数的表示有关,也跟Java的设计机制有关。
需要了解浮点数是如何表示的。
对于0.1来说,其本质是 1 / 10,那么若你用二进制表示它们,然后除的话,是这样的:1 / 1010,然而这一个是除不尽的,是无穷循环。

C 0条回复 评论

帖子还没人回复快来抢沙发