与朋友合作,我试图调试为什么log10(1/4)
返回-inf
,而log10(0.25)
返回-0.60206
的正确答案。使用cmath时,为什么log10(1/4)不等于log10(0.25)?
我正在使用这个程序来测试它,并尝试将值移动到变量。
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double t = 1/4;
double r = 0.25;
cout << log10(t) << endl;
cout << log10(r) << endl;
return 0;
}
这回-inf
和-0.60206
。
为什么1/4
的行为与0.25
不一样?
'1/4'是整数除法。 –
'1/4'为'0'。 '1.0/4.0'(或'1.0/4')是'0.25'。 – Amadan
@ T.C。谢谢! >。<哈哈。 –