浮点数在计算机中为什么不精确

版权声明:版权所有,谢绝转载。 https://blog.csdn.net/tales522/article/details/88784757

计算机使用二进制方式进行存储并计算,只是显示方式通过应用软件转换为十进制的方式,我们输入的通常情况下都是10进制的数据,当然也有8进制或16进制,在输入的时候,将数据转换成二进制,转换这个过程对用户透明,所以是由操作系统来代工完成的,至于操作系统是否调用硬件完成就不得而知。在有效范围内计算机能准确存储整形数字,因为这些二进制能表示的整形基数由1、2、4、8、16......这些组成,他们组合相加能组成所有需求范围内的整形数字。对于小数而言,二进制能表示的基数由1/2、1/4、1/8、1/16......这些组成,所以势必有一部分小数是表示不了的,这也是计算机中浮点数精度缺失的根本原因所在。浮点数具体的存储标准需要参考IEEE 754。

猜你喜欢

转载自blog.csdn.net/tales522/article/details/88784757