由0.1+0.2-0.3不等于0说起

简介: 由0.1+0.2-0.3不等于0说起

 刚开始做OFFICE的时候,有人测试发现0.1+0.2-0.3不等于0。这是为何?


 大家知道,电脑是2进制的,表示小数时就只能采取近似的办法,于是就产生了这种现象。当时大家认为,这是因为JAVA的精度高。


 某年放假时,吾突然灵光一闪,跟当时的吴某讲,这个说法不对。为什么呢?浮点数在内存表示,是有一个规范的(吾估计CPU也只认这个规范)。JAVA不可能自己搞一套,肯定也是这个规范。吴一听就明白了,对啊,JAVA是这样,C肯定也是这样。要得到正确结果,必须另外处理了。



 有人问,这个另外处理,怎么处理?就是算一个相对的有效范围。


目录
相关文章
|
7月前
|
算法 测试技术
枚举(蓝桥练习)(反倍数、特别数的和、找到最多的数、小蓝的漆房、小蓝和小桥的挑战)
枚举(蓝桥练习)(反倍数、特别数的和、找到最多的数、小蓝的漆房、小蓝和小桥的挑战)
|
6月前
|
开发框架 .NET
技术好文共享:面试题:找出数组中只出现一次的2个数(异或的巧妙应用)(出现3次)
技术好文共享:面试题:找出数组中只出现一次的2个数(异或的巧妙应用)(出现3次)
|
7月前
|
算法 Java
算法编程(十五):位1的个数
算法编程(十五):位1的个数
50 0
|
7月前
|
C++
【一刷《剑指Offer》】面试题 14:调整数组顺序使奇数位于偶数前面
【一刷《剑指Offer》】面试题 14:调整数组顺序使奇数位于偶数前面
|
7月前
|
人工智能
力扣每日一题 -- 2919. 使数组变美的最小增量运算数
力扣每日一题 -- 2919. 使数组变美的最小增量运算数
|
算法
代码随想录算法训练营第二十六天 | LeetCode 39. 组合总和、40. 组合总和 II、131. 分割回文串
代码随想录算法训练营第二十六天 | LeetCode 39. 组合总和、40. 组合总和 II、131. 分割回文串
49 0
|
算法 C++ 容器
剑指Offer - 面试题40:最小的k个数
剑指Offer - 面试题40:最小的k个数
57 0
LeetCode 1394. 找出数组中的幸运数
在整数数组中,如果一个整数的出现频次和它的数值大小相等,我们就称这个整数为「幸运数」。
91 0
|
算法
求两个数对应二进制位不同的个数(深度剖析+补充例题)
求两个数对应二进制位不同的个数(深度剖析+补充例题)
185 0
求两个数对应二进制位不同的个数(深度剖析+补充例题)