|
> | Anyone who uses floating point should know that it is an approximation > | and is only accurate to nearly 16 digits. I understand 16 digits of > | precision exceeds the experimental accuracy of all known constants of > | nature but that doesn't help in the business world. > > Am I understanding correctly that the 400 doesn't even Need floating point > to solve all known Scientific math problems?? (Of course, Not suggesting > it's unnecessary, because of "requirements" of backwards compatibility.) Floating point exists so that scientific-types can represent very large (the number of atoms in the universe) and very small (the distance between neutrons in an atomic nucleus) numbers in a convenient format. IEEE is one of the most popular 'convenient format' for computers to use, and is pretty much available on all modern platforms. For iSeries to NOT have floating point would surely be seen as a weakness. Anyway, because the intent of FLOAT is to be able to represent very large and very small numbers in the same format, there is a trade-off between the ultimate number of digits of precision and the ability to handle the extremes well. The reference to "...exceeds the experimental accuracy..." means basically that there is no known sensor which can measure that precisely. No thermometer can measure temperature differences of .0000000000000001 degree; no micrometer can measure that small a distance, etc. 16 digits provide a ridiculously large degree of precision, so we can't really critisise the IEEE on that score. There may be grounds for critisising software that insists on _displaying_ those un-precise digits though... If you'd like to play with floating point fields, here's some quickie SQL that will let you see how things look: CREATE TABLE BUCK/FLOAT (CHARS CHAR (10) NOT NULL WITH DEFAULT, FLOAT4 REAL NOT NULL WITH DEFAULT, FLOAT8 DOUBLE NOT NULL WITH DEFAULT) insert into float values ('low',1.23456789E-38,1.23456789012345e-307) insert into float values ('hi',1.23456789E38,1.23456789012345e308) select * from float ....+....1....+....2....+....3....+....4....+....5.. CHARS FLOAT4 FLOAT8 low 1.2345679E-038 1.234567890123450E-307 hi 1.2345679E+038 1.234567890123450E+308 It has been an interesting discussion. I say we take up logarithms like the deciBel next. :-) (Just kidding) --buck
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.