This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Floating point arithmetic - accuracy problem

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

Parents
  • Thanks for your reply Mr.Pier

    Yes, I mean to say '3 decimal places'.
    As you pointed out correctly, the issue is with the limitation in number of significant digits. While debugging I can clearly see the difference in least significant digits during each floating-point operation. After a sequence of operations,it finally lead to a wrong result. Is this limitation of 8051 floating point arithmetic? I tried running the same code in a DevC++ compiler, but the result was same.

Reply
  • Thanks for your reply Mr.Pier

    Yes, I mean to say '3 decimal places'.
    As you pointed out correctly, the issue is with the limitation in number of significant digits. While debugging I can clearly see the difference in least significant digits during each floating-point operation. After a sequence of operations,it finally lead to a wrong result. Is this limitation of 8051 floating point arithmetic? I tried running the same code in a DevC++ compiler, but the result was same.

Children
No data