12.3*70.95 a little bit weird



Numbers such as 1.234d2 or 1.235e2 are IEEE binary64 numbers. The relative 
difference between a number x and the nearest binary64 number is no larger 
than 1/2^53. The Maxima function rationalize, determines a rational representation 
of a binary64 number:

 (%i44) x : 70+95/100$

 (%i2) rationalize(70.95);
 (%o2) 4992662399405261/70368744177664

 (%i3) abs(rationalize(70.95)-x)  < x / 2^(53);
 (%o3) 1/351843720888320<1419/180143985094819840

 (%i4) is(%);
 (%o4) true

A Maxima number of the form X.XXXX...XbNN is a so called big float. The option variable
fpprec controls the number of digits in a big float:

(%i11) for k : 1 thru 7 do (fpprec : 10 * k, print(bfloat(%pi)));
3.141592654b0
3.1415926535897932385b0
3.14159265358979323846264338328b0
3.141592653589793238462643383279502884197b0
3.1415926535897932384626433832795028841971693993751b0
3.14159265358979323846264338327950288419716939937510582097494b0
3.141592653589793238462643383279502884197169399375105820974944592307816b0
(%o11) done

--Barton