C中float类型中小数位数为7位,即可精确到小数点后7位,例如0.123456789,在float类型中只能取到0.1234567,后面的两位有效数字损失掉了;double类型中小数位数为15位,可精确到小数点后15位。
PS:C语言中每个单精度浮点型数据在内存中占用4个字节的存储空间,它的有效数字一般有7~8位;双精度浮点型数据所占的存储空间为8个字节,有效数字一般有15~16位,这些指标与具体的计算机系统和C语言编译系统有关。
就单浮点型数据的数值精度而言,举个例子说明,例如实数1234567.89,有效数字超过了8位,如果将它赋值给单精度浮点型变量,该变量的值就是1234567.80,其中最后一位是一个随机数,损失了有效数字,降低了精度。
是不是各个平台都有自身的精度的?
路过……
路过