`
gao_20022002
  • 浏览: 164758 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

0.4 - 0.3 == 0.1是true??false

    博客分类:
  • ror
阅读更多

你注意过了么?

 

此处的运算结果是false。

 

这个是ruby上给的解释。哈哈,见识了。

 

Float objects have plenty of precision and can approximate 0.1 very well, 
but the fact that this number cannot be represented exactly leads to problems. 
Consider the following simple Ruby expression:

0.4 - 0.3 == 0.1    # Evaluates to false in most implementations

Because of rounding error, the difference between the approximations of 0.4 and 0.3 is 
not quite the same as the approximation of 0.1. This problem is not specific to Ruby: C, 
Java,JavaScript, and all languages that use IEEE-754 floating-point numbers suffer 
from it as well.
 
3
0
分享到:
评论
2 楼 surpass 2008-12-11  
java里面也是这样的啊
1 楼 fins 2008-12-03  
我印象中 任何语言在处理浮点数的时候 都会类似的问题.
例如 10个0.1相加不等于1 之类的

相关推荐

    TICQClient Version

    //// TICQClient Version 1.18f// (C) Alex Demchenko(alex@ritlabs.com)// http://www.cobans.net////-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=[ Legend: ][ + Added feature ][ * Improved/changed feature ][ ...

    matlab拓扑优化代码-trullekrul:用于各向异性网格自适应,拓扑优化和有限元方法的MATLAB/Octave脚本

    0.4 , 7e-2 , 0.1 , true , 0.75 , 0.7 , 0.5 , 1.5 , 1 / 10 , 283 , 1e-3 , pi / 4 , ' fig9b ' ): 有关详细说明,请参见WCSMO12会议进程: 相同的技术可以用于线性弹性的2D / 3D最小柔度: top5001( 7.5e2 , 2e-2...

    zookeeper集群配置.docx

    zk.address=192.168.0.1:2181, 192.168.0.2:2181, 192.168.0.3:2181, 192.168.0.4:2181, 192.168.0.5:2181 # 集群名称 cluster.name=cdgcluster ``` - **编号6-7的服务器配置**: ```plaintext # 是否开启 zk...

    TMS Pack for FireMonkey2.3.0.1

    Fixed : Issue with Options.Mouse.ColumnDragging = false / Options.Mouse.RowDragging = false in TTMSFMXGrid Fixed : Issue with OnCanInsertRow/OnCanDeleteRow triggering in TTMSFMXGrid Fixed : Issue ...

    matlab开发-ROCcurve

    首先,ROC曲线的基本原理是通过改变分类器的决策阈值,计算出一系列的真正率(True Positive Rate, TPR)和假正率(False Positive Rate, FPR)。TPR是真正例占所有正例的比例,FPR是假正例占所有负例的比例。ROC...

    python np.random.choice方法

    p = [0.2, 0.3, 0.4, 0, 0, 0.1] a4 = np.random.choice(a, 5, p=p) print(a4) ``` 这种方法在模拟实验、统计分析、机器学习等领域中非常常见。例如,在模拟抛硬币实验时,我们可以用`np.random.choice`来模拟不同...

    VRML虚拟现实开发文档(含源代码).docx

    translation 5 -4 0.1 scale 0.04 0.04 0.04 children[ Shape{ appearance Appearance{ material Material{ diffuseColor 0.2 0.3 0.3 } } geometry Cylinder{ radius 2.0 height 100.0 top TRUE ...

    雷达技术知识

    0.1 r - 0.\ O,j/6Y3- -500 17.5 35 52.5 70 horizonral scanning dislancC(lllm) 0.9 0.8 0.7 06 0.5 0.4 0.3 0.2 0.1 a b Figure 3. Wave Action Relationship to LiDAR Echo. "LiDAR measurements of wake ...

    c选择程序流程设计PPT课件.pptx

    - **逻辑表达式的真假判断**:在C语言中,任何非零数值都被视为`true`,而`0`被视为`false`。 - 示例:`if (3)`将始终执行其后的`statement`,因为`3`是非零值。 - 示例:`if ('a')`也会执行其后的`statement`,...

    VRML虚拟现实开发文档(含源代码)37.docx

    柱子的顶部被设置为可见(`top TRUE`),底部不可见(`bottom FALSE`)。 3. **椅子腿**:这部分代码似乎是用于模拟椅子腿的,但是位置设置为`-1000`,这可能意味着它被放置在一个远离视图中心的位置,可能用于测试或...

    不同機率寫法

    3. **二进制概率(Boolean)**:对于只有两种可能结果的事件,如成功/失败,我们可以直接用布尔值(True/False)表示,这在某些简单的判定中十分便捷。 4. **权重(Weight)**:在涉及多个选项时,我们可以为每个...

    13个Pandas实用技巧,助你提高开发效率

    'pred': [0.1, 0.2, 0.3, 0.4], 'pred_class': ['women', 'man', 'cat', 'dog'], 'v_id': ['d1', 'd2', 'd3', 'd1'] }) # 使用groupby和agg方法进行多列合并 result = df.groupby(['v_id']).agg({ 'pred_class'...

Global site tag (gtag.js) - Google Analytics