Back to Dave Coffin's Home Page

Programs for the HP-32SII and HP-33S

For background information and other useful programs, see The Museum of HP Calculators.

Tired of evaluating physics equations on a non-RPN calculator, I bought an HP-32SII on August 30, 1991. I read the manual cover-to-cover and wrote several programs. These two were the most useful outside of Physics class:

This program calculates the shortest distance and direction between any two points on the Earth's surface, along a Great Circle route. Airline pilots and ship captains do this sort of thing all the time.

This program calculates the precise location of the Sun in the sky at any place and time. It can predict sunrise and sunset times, and (weather permitting) makes a very precise non-magnetic compass.

I bought an HP-33S on March 3, 2006. It's a worthy successor to the HP-32SII, running all the same programs on a two-line display. There are still only 27 variables and 26 code labels, but the memory has been expanded from 384 bytes to 32768.

It's true that the decimal point is hard to see, so I use "RADIX," mode, i.e. "12.345,6789" instead of "12,345.6789".

I bought an HP-35s on September 16, 2015 and found two very annoying unforced errors. The polar<-->rectangular conversion key is missing, forcing the use of complex numbers instead.

In binary, octal, and hex modes, the HP-35s assumes all input to be decimal. You have to press a three-key combination to append "b", "o", or "h" to every non-decimal number you enter!

This program converts dates from yyyy.mmdd format to linear days, and the inverse, according to Gregorian rules. It's very useful for any computation that depends on the exact interval between two calendar dates.

This program converts between base-ten and any other base from 2 to 16. It should work on either calculator.

All these programs work on the HP-42S, but some operators have different names. "θ,r→y,x" is "→REC", "y,x→θ,r" is "→POL", "RMDR" is "MOD", and "INT÷" is "BASE÷" (you could use "÷" followed by "IP" but this breaks the line numbering).