关于float的精度类型

  • Post author:
  • Post category:其他




1 主要记录一下为什么float的精度类型为6~7位



首先,应该明确float数据类型,占4个字节,共4*8=32位,其中:(IEEE754标准规定如下)

为描述

32位当中,1位为符号位、8位指数位、23位为数值位。故float类型的数值是由后边的23位决定。23位指的是2进制数可以表示2^23取值范围以内的数都可以由它表示清楚。

但是我们程序所输入的是十进制数,其数据转换过程为:十进制(输入)—–二进制(计算机只识别二进制)—-十进制(输出显示)

2^23=8388608,故对应十进制为7位数。故float型的精度类型为7~8位有效数字(因为有的编译器是7位有的编译器是8位)


注意:7-8位是整数位和小数位加起来的位数


根据同样的方法推算double类型的精度。

总结:



float精度:7~8位有效数字

double精度:16~17位有效数字



版权声明:本文为weixin_43463872原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。