定义数据类型时float double的使用

https://zhidao.baidu.com/question/263406819.html

类型 比特数 有效数字 数值范围


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。



总结:

节省内存用float,

讨厌看到warning用double。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值