A lot of people say that Unix BC is a very good calculator program. However whenever I enter the following commands (after loading the math library -- i.e invoking BC at the command line by typing 'bc -l') I get:

e (3 * l(2) )

7.99999999999999999982

e(0.2*l(32))

1.99999999999999999998

The first one is computing 2^3 which should be 8.

The second equation is computing 32^0.2 (or the fifth root of 32) which should be 2.

I know the numbers are off by a little bit, but it does get a little annoying, especially when people say the program is the best at arbitrary precision arithmetic (and other worse programs can do better).

Does anyone know why this happens? How can I fix this? Or, is there a better command-line calculator program I can use?