用C/C++处理数据的时候,如果数值比较大就得注意数据类型。比如这个log函数的问题。
log接受double类型的参数,而logf接受float类型。
比如这段代码:
#include <math.h> #include <stdio.h> int main() { double x = 4.4e52; printf("log(%lf) = %f\n", x, log(x)); printf("log(%lf) = %f\n", x, logf(x)); return 0; } |
linux/gcc下的输出是
914[......]