任何人都可以帮助我理解如何翻译这两个表达式:
第一
double val = 1/(b-1)/t*log(x1/x2);
我在很多方面用一些c打破了它,但我有两个不同的结果:
double val2 = ( 1/(b-1) ) / ( t*log(x1/x2) );
double b,t,x1,x2;
b= 0.1;
t= 0.2;
x1 = 0.3;
x2=0.4;
double val = 1/(b-1)/t*log(x1/x2);
printf ("%1.4e",val);
double val2 = ( 1/(b-1) ) / ( t*log(x1/x2) );
printf ("%1.4e",val2);
if(val!=val2){
printf("different!");
}else printf("its ok");
return 0;
第二个问题: 对于非常低阶的数字,c和java中的double有很多精度差异吗?
谢谢。