2.6 - 浮点数的存错所带来的问题

 

  • 说明

    float 和 double 都不能够保证可以把所有的实数都准确的保存在计算机中。原因是因为计算机存储的格式来决定。因为计算机是通过补码的形式转化为二进制的文件进行存储的。所以转化的过程中可能会造成不准确。

    例子:

     # include<stdio.h>
     int main(void)
     {
         float i=99.9;
     ​
         printf("i=%f\n",i);
     ​
         return 0;
     }
     ​
     /*
     --------vc++6.0中运行的结果------------
     i=99.900002
     Press any key to continue
     ---------------------------------------
     心得:
     我们看到浮点数的 99.9 的后面不是五个0而是出现了一个2
     所以说在计算机中实数不是能够完全正确无误的存储在计算机中的。
     ​
     */
posted @ 2021-11-13 00:21  江湖混子  阅读(29)  评论(0编辑  收藏  举报