单精度实型和双精度实型的有效位数

单精度python 单精度实型变量_github


为什么将同一个实型常量赋值给单精度实型(float 型)变量和双精度实型(double 型)变量后,输出的结果会有所不同呢?这是因为float型变量和double型变量所接收的实型常量的有效数字位数是不同的。一般而言,double型变量可以接收实型常量的16位有效数字,而float型变量仅能接收实型常量的7位有效数字,在有效数字后面输出的数字都是不准确的。因此,将 double 型数据赋值给float 型变量时有可能发生数据截断错误,从而产生丢失数字并产生随机数的误差。