in reply to Re^2: Is this odd behavior a floating point problem?
in thread Is this odd behavior a floating point problem?
Yes, I've seen and skimmed this document, but, not to be rude, but I'm not interested in becoming a computer scientist in order to write a script to do basic math. Adding together 0.001 40 times is pretty basic and if my calculator can do it, I not sure I understand why Perl won't.
:) Try site:perlmonks.org What Every Computer Scientist Should Know About Floating-Point Arithmetic and you can learn from others who weren't satisfied with that document
- Simple math gone wrong
- Floating Point Looping In Perl
- Math 101 anyone?
- adding numbers and floating point errors
- sprintf rounding convention
- perl subtraction
- RFC: Large Floating Point Numbers - Rounding Errors
- perl subtraction
- Using (s)printf()
- http://en.wikipedia.org/wiki/Floating_point#Addition_and_subtraction
- limit of for loop!!
- Why does perl math suck?
- Perl 5.8.x floating point representation error
- Strange rounding Error in Perl
- Bug? 1+1 != 2
- [Win32, C, and way OT] C floats, doubles, and their equivalence
- My floating point comparison does not work. Why ?
- cos (100000000.0)
- Floating point problems
- Ever heard of pi? 22/7? Guess what, 22/7 exceeds p
- General Decimal Arithmetic
- Decimal Arithmetic FAQ(Frequently Asked Questions)
Now you say you're studying chemical diffusion so I assume you would have heard of significant figures? Surely your professor, when discussing significant figures, would have explained the basic limitations of adding machines (calculators/computers)?
I was hoping, after reading that document, you would ask explicitly how to round numbers for display purposes in perl.
- perlfaq4#Does Perl have a round() function? What about ceil() and floor()? Trig functions?
- Math::BigRat
- Math::BigInt
- Math::BigFloat
- bigint/bigrat/bignum
While you can create a calculator using perl (like Tk::Calculator::RPN::HP ), and expect it to do rounding like your pocket calculator, perl itself, not being a calculator, won't hide the details of floating point arithmetic from you, so it is good knowledge to have.
Any scientist using computers for calculations needs to know the limits of his tools.