永发信息网

C语言中float 和 double有什么区别 用法

答案:5  悬赏:30  手机版
解决时间 2021-01-24 20:45
  • 提问者网友:骑士
  • 2021-01-24 04:48
C语言中float 和 double有什么区别 用法
最佳答案
  • 五星知识达人网友:一秋
  • 2021-01-24 05:48
float为单精度,占4字节(32位)的内存空间,它的数值有效范围是-10的38次方到10的38次方,只表示7位有效数字。而double为双精度,8字节,正负10的308次方之间,能精确到16位。这应该就是他们的的最基本的区别吧。。。

中国物联网校企联盟技术部
全部回答
  • 1楼网友:青灯有味
  • 2021-01-24 07:39
精度不一样,一个是双精度类型一个是单精度类型,就是小数点位数不一样
  • 2楼网友:十年萤火照君眠
  • 2021-01-24 07:02
float=4个char double=16个char
  • 3楼网友:鱼芗
  • 2021-01-24 06:44
类型 比特数 有效数字 数值范围 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文件) 还有,有个例子:在C和C++中,如下赋值语句float a=0.1;编译器报错:warning C4305: 'initializing' : truncation from 'const double ' to 'float '原因:在C/C++中(也不知道是不是就在VC++中这样),上述语句等号右边0.1,我们以为它是个float,但是编译器却把它认为是个double(因为小数默认是double),所以要报这个warning,一般改成0.1f就没事了。通常的做法,经常使用double,而不喜欢使用float。
  • 4楼网友:往事隔山水
  • 2021-01-24 06:34
float为单精度,占4字节(32位)的内存空间,它的数值有效范围是-10的38次方到10的38次方,只表示7位有效数字。而double为双精度,8字节,正负10的308次方之间,能精确到16位。这应该就是他们的的最基本的区别吧。。。
中国物联网校企联盟技术部。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯