两个一般的CS问题

use*_*982 5 c++ floating-point

当比较两个"真实"数字是否相等时,为什么我不应该使用==运算符,而我应该使用什么呢?

coersion和cast之间有什么区别?我的一般假设是,当你强制一个值为另一种类型时,如下所示:

int n = 9;
return double(n)/5;
Run Code Online (Sandbox Code Playgroud)

Sha*_*our 2

这篇文章比较浮点数深入探讨了浮点比较,这篇《每个程序员都应该了解浮点运算》也是一本很好的读物。

关于coercioncasting这个SO线程之间的区别铸造和强制之间有什么区别?虽然不是特定于 C++,但很好地涵盖了这个问题。基本上coercion是隐式的,而casting显式的。