preet skrev:
>I forbindelse med et projekt har vi brug for at lave et regnestykke,
>hvor potensen 10^60 eller deromkring indgår. Dette kan vi med pow()
>eller powl() ikke udregne. Hvilke andre funktioner kan vi benytte og
>hvordan?
Jeg ved ikke om der er smartere metoder, men man kan altid selv styre
mantissen og eksponenten:
double tal=2,718281828;
int eksponent=0, div;
for (int n=0; n<enhelmasse; ++n) {
tal*=2;
while (tal>=10) { tal/=10; ++eksponent; }
//eller div=(int) log10(tal); eksponent+=div; tal/=pow(10,div);
}
Den sidste metode er hurtigst hvis der ellers skulle divideres mange gange
med 10.
--
Bertel
http://lundhansen.dk/bertel/ FIDUSO:
http://fiduso.dk/