Electronic – Calculator Algorithmic Error (Bowmar MX140 [1974])

calculator

My senior colleague recently retired and left behind a Bowmar MX140 calculator that I've managed to repair

enter image description here

After playing around with it I've noticed it has some error with certain functions.
As an example, \$9*9=81\$. Where as \$9^{2}=80.9999\dot{9}\$
Numbers 10 to 19 squared display as full integers, but \$20^{2}=399.9999\dot{9}\$

It does explain there is a degree of error in the manual found here in pages 30-31.

My question is: Where does this error come from?
I would assume firmware, but are there other ways to calculate the \$Y^{X}\$ besides \$Y*Y*Y\$ etc.?
As an extra question, why does this error only happen with certain numbers? e.g 9 & 20

Best Answer

\$Y^X\$ is usually implemented as \$e^{X \ln Y}\$ so that X and Y can both be nonintegers. Logarithm and exponentiation are implemented using series expansions, and have some probability of not coming up with an exact answer.

Modern calculators carry out these calculations with enough "guard digits" so that the result can be rounded correctly for the display. Early calculators sometimes didn't have enough digits to round correctly in every case, and that's what you're seeing here.

Related Topic