c语言FLOAT到底可精确到小数点几位,不是说7位吗,那程序中#define PI ((float)3.141592654f) 这么多位,

c语言FLOAT到底可精确到小数点几位,不是说7位吗,那程序中#define PI ((float)3.141592654f) 这么多位,到底是怎么回事

float类型是可以精确到16位小数的,只是默认情况下,只输出6位小数.
可以在输出的时候, 使用这种格式: %.16f 输出16位小数(当然也可以写比16大的数,只是输出时16位以后的都是0而已)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-06
要看在什么程序的吧,C++有32位,而T……的只有16位
可能一个位是8个字节吧,好多个二进制位
第2个回答  2013-04-06
用sizeof可以看出内存字节数的, double有十六位有效数字,float只有六位。
第3个回答  2013-04-06
显示默认是6位。
第4个回答  2013-04-06
你在这里是强转为float类型了,它会截断后面的几位