다음은 C 코드입니다.C의 pow()에서 인수의 정밀도
#include<stdio.h>
#include<math.h>
int main()
{
double n=10.0;
double automatic = pow(10.0,log10(n)-log10(5.0));
printf("%.9lf\n",log10(n)-log10(5.0));
printf("%.9lf\n",pow(10.0,0.30102996));
double manual = pow(10.0,0.30102996);
printf("%.9lf %lf\n",automatic, floor(automatic));
printf("%.9lf %lf\n",manual,floor(manual));
return 0;
}
출력된다 : 출력으로부터
0.301029996
1.999999836
2.000000000 1.000000
1.999999836 1.000000
I는 POW의 것을 추측 할 수는 서명 POW (더블 X 더블 Y)과 같다 때문에 (X는 Y) Y는 6 자리로 반올림 그래서 0.301029996은 0.301030이되고 자동 값은 2.000000000입니다. 그렇지 않으면 수동과 동일합니다.
내 질문 :
1. 나의 추론은 정확합니까?
2. 첫 번째 질문에 대한 대답이 참이면보다 정확한 결과를 얻기 위해 어떻게이 반올림을 건너 뛸 수 있습니까?
gcc가 있으므로 필요합니다. 방법 gcc에서 그것을하는 방법. –