Hello,
I am using 89C51ED2 for solving non-linear equations. I am facing accuracy problems while doing floating point arithmetic. The accuracy of floating point arithmetic is limited to 3 decimal points thus leading to an erroneous results after a series of operations. Declaring variables as double doesn't solve the problem.How can I increase accuracy of floating point operations? Is there any way to solve this issue?
Thanks in advance.
Praveen K
Why ???
It's got what plants crave..
Perhaps in time the warehouse or fab for these parts will collapse.
The answer for 'WHY' is - application demands I am using a 8051 based portable auto-calibrator which fetches values from a field sensor. The sensor output is related to measured parameter by a 2nd degree polynomial equation whose coefficients are obtained during multi-point calibration. Auto-calibrator need to fit 10 calibration points using least-square curve fitting method. Curve-fitting algorithm uses floating-point arithmetic.
Keil supports 32bit float only. Using double does not change this.
You may buy a product like in
www.smxrtos.com/.../gofast_8051.htm
or if you don't mind code space or run time port/compile some public domain source code of a floating point source code from other platforms.
PS: My answer implies that you really need this, which I can not know.