* * * * *
100,000 digits of e
In case you were wondering about the title to my little PHP rant [1] the
other day, it's e, the mathematical constant dealing with natural logarithms,
out to 20 decimal places. I felt that was a good place to break it as any.
I got the value from a program I wrote [2], oh, it looks to be around 1995 or
so, and was based upon a program written by Steve Wozniak [3] for the Apple
][ computer, and documented in a Byte Magazine [4] article from December 1980
(I think—the copy of the article is buried somewhere around here, but the
timeframe is close enough to track down the article if you are truely
interested). Written in 6502 Assembly and it calculated e out to 100,000
digits (no more since there was no more memory in the Apple ][ to hold the
result). By following the article and the 6502 Assembly code, I was able to
rewrite it in C.
Now, when Steve Wozniak first wrote it, it took the Apple ][ a week to
calculate the result—a modern machine (okay, a 1.6GHz AMD Athalon) took only
2½ minutes to calculate e to 100,000 digits [5] (the output give the amount
of memory used, the number of digits produced (and in this case, 50,000 bytes
gives 120,412 digits) and the magnitude of the result and the resultant
number itself, but without the leading 2).
Amazing the speed advances that 24 years can bring.
As for how the program works, you'll have to dig up the article and find out;
I don't recall the math behind it anymore.
[1]
gopher://gopher.conman.org/0Phlog:2004/11/11.3
[2]
gopher://gopher.conman.org/0Phlog:2004/11/12/bige.c
[3]
http://www.woz.org/
[4]
http://www.byte.com/
[5]
gopher://gopher.conman.org/0Phlog:2004/11/12/e100k.txt
Email author at
[email protected]