0
힘과 큰 숫자의 모듈 (double 형식)을 계산하려고합니다. 나는 calcule 할 (1234^79) 모드 3337. 결과는 901 (우분투의 계산기)하지만 기능 FMOD 반환 내가 잘못 뭐하는 거지 1788double과 fmod로 작업 할 때 오류가 발생했습니다.
#include <math.h>
#include <tgmath.h>
#include <stdlib.h>
#include <stdio.h>
void main(){
double res1;
double dou = powl(1234.00,79.00);//function for doubles
printf("Result in double o powl %.3f\n",dou);
res1=fmod(dou, 3337.00);//doubles
printf("Result in double of fmod %.2f\n",res1);
}
입니까? 어떤 대답은? 미리 감사드립니다.
'powl' 기대와 유형'긴 double'의 값을 반환합니다. 반환 값을 'double'유형의 변수에만 할당하면 약간의 정확도가 손실됩니다. – Gerhardh
@Gerhardh : 나는이 경우에 'long double' 정밀도가 도움이 될 것이라고 생각하지 않습니다! ;-) –
반복 계산으로 바꿉니다. [this] (https://ideone.com/yKFSSE) – BLUEPIXY