[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
[an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]![]() |
![]() |
![]() |
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
![]() |
![]() |
![]() |
At beregne pi men d-decimaler er desværre ikke så lige til. Problemet er de endelige længder af de variable man har tilrådighed, fx. er en double vist "kun" 8 byte. Man skal altså til at bruge tricks hvis man har behov for flere betydende cifre, i virkeligheden konverterer man fra 10 talssytemet til 256 talsystemt, og gemmer det som en streng. Strenge har nemlig ikke den samme begrænsning i deres længder. Jeg anbefaler at du prøver at kikke i Numerical Recipies fra Cambrigde university press (kan købes i naturfaglige boglade på Augustkrog instituttet), de har kildeteksten til et program der beregner netop pi med et antal decimaler af næste 2'er potens større end lig d. Det skyldes at rutinen bruger FFT (fast Fourier transforms), som arbejder hurtigere jo flere divisorer tallet har. Du kan se en online udgave af Numerical Recipies på: http://www.nr.com/ De ligger der også som Fortran kode, men jeg kan se de arbejder med deres server i øjeblikket. I programmet bruges funktioner der kan multiplicere et n'cifret tal med et m'cifret tal. Problemet er bare at de kommer ud i Radix 256, så du skal kaste dem tilbage med en baglæns Fourier tansformation, og den vil de røvhuller ikke angive i FFT udgaven, så den er langsom. Du kan altid spørge mig hvis du ikke kan få det til at funge', jeg har fået det til at køre, men en beregning med 700000 decimaler tog mere end 24 timer på min maskine (K6 233 MHz), så man skal have tålmodighed. Venlig Hilsen Sune _________________________________________________________ DO YOU YAHOO!? Get your free @yahoo.com address at http://mail.yahoo.com
![]() |
![]() |
![]() |
||||||||||||
|
||||||||||||||
![]() | ||||||||||||||
|
||||||||||||||
![]() |
![]() |
![]() |