请考虑以下代码:
0.1 + 0.2 == 0.3 -> false
Run Code Online (Sandbox Code Playgroud)
0.1 + 0.2 -> 0.30000000000000004
Run Code Online (Sandbox Code Playgroud)
为什么会出现这些不准确之处?
我需要自然对数函数用于.cpp(c ++)源文件.现在,我当然可以通过快速谷歌搜索和简单的库解决方案来做到这一点.但我有点困惑......
在cplusplus dot com网站的参考/ cmath/log /下他们有一个如何使用日志功能的例子,如下
/* log example */
#include <stdio.h> /* printf */
#include <math.h> /* log */
int main ()
{
double param, result;
param = 5.5;
result = log (param);
printf ("log(%f) = %f\n", param, result );
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我有一些问题:
1)他们为什么使用
<stdio.h>
Run Code Online (Sandbox Code Playgroud)
我认为这是针对C而不是C++?
2)他们为什么使用
<math.h>
Run Code Online (Sandbox Code Playgroud)
我虽然.h代表C头文件而不是.hpp C++头文件?
忘记使用stdio(无论如何我会使用iostream),但即便如此
<math.h>
Run Code Online (Sandbox Code Playgroud)
感觉就像我在编写C代码而不是C++代码.我通过教学课程学习C++,教师在第一周学习了C,然后说我们不再使用C,但从现在开始将使用C++.如果老师问"你为什么使用C头文件?我应该用C++工作",我觉得自己无法解释自己.
任何解释都非常感激.