So I got bored studying for my stupid Engineering Econ test tomorrow and started messing with my TI-89.

We compute continuous interest using an exponential function. So if it's given that a bank charges 16% nominal interest per year, we have to find what the effective continuous interest rate is. Like I said, you'd compute this with:

(a) i = e^(0.16)-1 = 17.35%

So there's this other equation which we use for non-continuous interest. We're given that a bank charges 16% nominal per year, we have to find the effective annual rate if it's compounded m times per year. The equation is:

(b) i = (1 + .16/m)^m - 1

Simple stuff, I know. So basically if you take the limit as m approaches infinity, you get the (a) equation.

So I took (b) and started plugging in really large values of m, like 9999. Obviously you get a value really close to the result from (a). This works all the way up to making m = 2^39. If m = 2^40, the calculator outputs the answer is 11.6% (should be 17%). Continuing to increase m keeps giving more wrong answers, so obviously the calculator is overflowing or something.

My question is, shouldn't this throw an exception, or somehow tell you it's wrong? Is this a problem is floating point representation? Doesn't this have the potential to really screw your answers up if you're not aware of it? Or should one just know not to use incredibly large or incredibly small values in a calculator like this?

I'm a nerd, I know.

[This message has been edited by FlyMeToTheMoon (edited 5/2/2008 12:00a).]