C语言中double与float有什莫区别

2025-03-11 05:44:28
推荐回答(2个)
回答1:

float 32 6-7 -3.4*10(-38)~3.4*10(38)
double 64 15-16 -1.7*10(-308)~1.7*10(308)
long double 128 18-19 -1.2*10(-4932)~1.2*10(4932)
简单来说,Float为单精度,内存中占4个字节,有效数位是7位(因为有正负,所以不是8位),在我的电脑且VC++6.0平台中默认显示是6位有效数字;double为双精度,占8个字节,有效数位是16位,但在我的电脑且VC++6.0平台中默认显示同样是6位有效数字(见我的double_float文件)

回答2:

两者都是浮点数,但float是单精度的,double是双精度的,就好比long和int一样的关系
32位环境下,float是4个字节,double是8个字节