美文网首页
计算机系统基础之浮点数位数

计算机系统基础之浮点数位数

作者: 千寻大哥哟 | 来源:发表于2018-12-10 23:14 被阅读0次

为什么float型数据的有效位数最多为7位

在解释这个问题之前,先来看一个例子。

#include<stdio.h> 
int main()
{
    float x;
    scanf("%f",&x);
    printf("%f\n",x);
    printf("%.5f\n",x);
    return 0; 
}
输入:
611.123456
输出:
61.123474
61.12347

为什么会出现这样的输出呢?
因为在C语言里%f表示的是保留七位有效位数(整数+小数),这里的有效位数概念上不同于保留小数,所以当保留小数位数加上整数位数超过7位时,那么输入的这个浮点数就是一个不可表示的数,那么计算机就会将其转化为最邻近的可表示数。从第七位往后开始就要转化了,所以它的有效位数就是7位。

相关文章

网友评论

      本文标题:计算机系统基础之浮点数位数

      本文链接:https://www.haomeiwen.com/subject/hghjhqtx.html