求教 float 的有效数字到底是几位?
float的有效数字到底是6位、7位还是8位。程序代码:
#include <stdio.h> int main(void) { float a = 0.0; scanf("%f", &a); printf("%f", a); return 0; }
当我输入123456.123456时他给出的数字是123456.125000,我又尝试了其他数,发现输出的数字前8位有效数字都是精确的。这是什么原因呢?
查了下,有不少人问过这个问题,可好像都没说清(或者说我看不懂……)。