- 主题:现在用==比较double数是不是问题不大了?
和现在不现在没关系,纯看比较的场景和目的。浮点数部分运算在一定范围内精确,出了范围就要考虑有效数字。比如你把double当做50比特的整数做加减乘法,不溢出就没事。
【 在 SHENOK 的大作中提到: 】
: 看好多代码都频繁用这个
: --
: FROM 86.161.139.*
--
FROM 61.242.150.*
基本上就是比较比特。细节上有些特例,比如NaN≠NaN。
但不可能替你预设一个误差值,那是乱来。
【 在 SHENOK 的大作中提到: 】
: 那么编译器会怎么对待两个double的 == ?
:
: 直接比两段内存的每个bit
: ...................
--
修改:milksea FROM 61.242.150.*
FROM 61.242.150.*
能看汇编还会问这个?x64还要懂点sse指令,不然看到UCOMISD一样抓瞎。不如一开始概念上搞清楚。
【 在 z16166 的大作中提到: 】
: 直接看编译器生成的汇编代码呀
:
: 【 在 SHENOK 的大作中提到: 】
: ...................
--
FROM 61.242.150.*