C语言中 double数字 以浮点输出小数后面全部变为零的问题

日期:2011-10-15 21:28:34 人气:2

C语言中 double数字 以浮点输出小数后面全部变为零的问题

计算机内部保留的数值,精度是有限的。不同的C语言版本可能有不同。 常见的某些版本中,情况如下(其中的“位”指二进制的位): float型:8位阶码,24位尾数; double型:8位阶码,56位尾数。 阶码是用来表示小数点位置的,尾数则是表示有效数字的值。故double型有效数字最多保留56位。 故这种情况下,最低位的分辨能力,只能达到整个量程的2的56次方分之一。 如果数据本身,有更低位的小数,就只能舍入近似了。 而且我们知道,尾数还有正负两种可能,故其绝对值的最大值,只能达到整个
    A+
热门评论