C++公式与指定值不匹配的结果
C++ results with formula not matching specifying value
为什么下面不相等?
0.37024025
和
(sqrt(2)*M_PI/3)*(1/4)
我看到我的解决方案存在显着差异,但我所做的只是放置一个带有其背后的公式的数字。
表达式(sqrt(2)*M_PI/3)*(1/4)
具有整数除法。也就是说,(1/4)
总是为零,使整个表达式为零,因为它乘以该表达式。
(sqrt(2.0)*M_PI/3.0)*(1.0/4.0);
更接近您想要的,但是在比较双精度时,我会使用epsilon阈值并基于此测试两者是否"足够接近":
bool cmp(double d1, double d2, double epsilon)
{
return std::fabs(d1 - d2) < epsilon;
}
您正在对1/4
执行积分除法,这将导致0
,而不是0.25
。尝试分别为浮点数或双精度添加.0f
或.0
后缀。
相关文章:
- Qt SQLite没有查询或参数计数不匹配
- 模板参数推导失败,函数参数/参数不匹配
- 在使用累加时,C++中的运算符+不匹配
- C++ 与操作员不匹配<<
- 在 Arduino 上使用 sscanf 会导致与 const char * 不匹配,并且返回值始终相同,尽管输入值不同
- 与'operator='不匹配(操作数类型'String'且"void")
- C++模板/别名 - 模板参数列表中参数 1 处的类型/值不匹配
- C4018:类内有符号、无符号不匹配
- 我在 .h 中有一个枚举类,并且在.cpp错误中有一个运算符重载:与"运算符<<不匹配
- 为什么我收到错误:"运算符<<不匹配?
- RE2 不匹配非 ASCII 字符
- C++公式与指定值不匹配的结果
- 我的 AQTime 结果中的次数总和与我测量的响应时间不匹配
- 使用 Pycrc 和 PHP 代码的 CRC32 计算与预期结果不匹配
- 在提升匹配结果中查找不匹配
- Java 和 C++ 加密结果不匹配
- 类型id结果不匹配
- CLOCKS_PER_SEC与std::clock()的结果不匹配
- OpenCV idft() 和 MATLAB ifft2 的结果不匹配
- Qt:QProcess 结果与提示时的结果不匹配