“你知道 0.1+0.2 不等于 0.3 吧?那我再问一个:为什么 0.1+0.1 又等于 0.2?”面试现场,当面试官抛出这个问题时,小林心里咯噔一下 —— 他背过 “0.1 二进制无法精确存储” 的结论,却从没琢磨过 “两个不精确的 0.1 相加,为啥能得到精确的 0.2”。支支吾吾半天没说清,这场面试最终以 “再联系” 收尾。Java中测试效果如下:其实这道题的核心,不是 “记结论”,而是搞懂IEEE 754 双精度浮点数的存储规则—— 所有 “看似矛盾” 的加法结果,都藏在 “符号位、指数位、尾数位” 这三部分里。一、先搞懂底层:计算机怎么存 0.1?(IEEE 754 双精度规则)我...