30.6001, 25 year old hack? Message #1 Posted by hugh on 7 Apr 2003, 7:30 p.m.
formulae for date calculations always involve the mystery number 30.6001
[quick recap. problems involving date arithmetic are solved by converting a d/m/y date into a julian day number (# of days since 4716BC) or some offset absolute day# eg from 1/1/1900, adding & subtracting from that number and then converting back to d/m/y. thus two subroutines are needed date->julian and julian->date].
30.6001 is the days per month approximation (365-31-28)/10 (ie av month days without jan & feb).
so what?
this number is used in most modern books eg. montenbrucks's astronomy book, also in peter duffett-smith's book. both come from Meeus' earlier works, first published 1979.
now, i happen to know that all the computations using 30.6001 work just fine using 30.6. so, whats the deal with the small adjustment.
i thought i had got to the bottom of this when i read meeus' to reveal 30.6001 was a *workaround* for the numerical errors in his hp-85 microcomputer from 1978 (he says this in his book). 1978 is before ieee floating point standardization. so basically, you needed small number hacks to manually ensure correct roundoff. so this hack has been carried forward 25 years with no one noticing.
but wait!
here's the hp29c/19c applications book from july 1977. p44 and the *same* hack is used before meeus' publication. could it be that hp originated this hack all along. and where did it really start?
|