您现在的位置是:首页 > 编程 > 

C++中,float double区别

2025-07-29 08:51:43
C++中,float double区别 在VC++6.0平台,一定记住float:有效数字位数7位。double:有效数字位数7位。小数的时候小数点占一位;类型               比特数      有效数字                          数值范围         float                  2                  6-7      

C++中,float double区别

在VC++6.0平台,一定记住
float:有效数字位数7位。
double:有效数字位数7位。
小数的时候小数点占一位;

类型               比特数      有效数字                          数值范围         float                  2                  6-7                  -.4*10(-8)~.4*10(8)        double               64               15-16              -1.7*10(-08)~1.7*10(08)       long double      128              18-19             -1.2*10(-492)~1.2*10(492)  简单来说,Float为单精度,内存中占4个字节,有效数位是7位(因为有正负,所以不是8位),在我的电脑且VC++6.0平台中默认显示是6位有效数字;double为双精度,占8个字节,有效数位是16位,但在我的电脑且VC++6.0平台中默认显示同样是6位有效数字(见我的double_float文件)  还有,有个例子:在C和C++中,如下赋值语句  float a=0.1;  编译器报错:warning C405: 'initializing' : truncation from 'ct double ' to 'float '  原因:  在C/C++中(也不知道是不是就在VC++中这样),上述语句等号右边0.1,我们以为它是个float,但是编译器却把它认为是个double(因为小数默认是double),所以要报这个warning,一般改成0.1f就没事了。  本人通常的做法,经常使用double,而不喜欢使用float。

上代码吧:

#include <iostream> using namespace std; int main () {    // 数字定义    short  s;    int    i;    long   l;    float  f;    double d;    // 数字赋值    s = 10;          i = 1000;        l = 1000000;     f = 10.1247121;      d = 10.1247121;    // 数字输出    cout << "short  s :" << s << endl;    cout << "int    i :" << i << endl;    cout << "long   l :" << l << endl;    cout << "float  f :" << f << endl;    cout << "double d :" << d << endl;    return 0; }

结果:

代码语言:javascript代码运行次数:0运行复制
short  s :10
int    i :1000
long   l :1000000
float  f :10.12
double d :10.12

#include <iostream> using namespace std; int main() {  short  s;    int    i;    long   l;    float  f;    double d;    // 数字赋值    s = 10.001;          i = 10.001;        l = 10.904554544501;     f = 10.04554544501;      d = 10.0454546565401;    // 数字输出    cout << "short  s :" << s << endl;    cout << "int    i :" << i << endl;    cout << "long   l :" << l << endl;    cout << "float  f :" << f << endl;    cout << "double d :" << d << endl;     return 0; }

结果:

代码语言:javascript代码运行次数:0运行复制
short  s :10
int    i :10
long   l :10
float  f :10.0455
double d :10.0454

#include <iostream> using namespace std; int main () {    // 数字定义    short  s;    int    i;    long   l;    float  f;    double d;    // 数字赋值    s = 10;          i = 1000;        l = 1000000;     f = 20.47;      d = 0949.74;    // 数字输出    cout << "short  s :" << s << endl;    cout << "int    i :" << i << endl;    cout << "long   l :" << l << endl;    cout << "float  f :" << f << endl;    cout << "double d :" << d << endl;    return 0; }

结果:

代码语言:javascript代码运行次数:0运行复制
short  s :10
int    i :1000
long   l :1000000
float  f :20.47
double d :0949.4
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-12-16,如有侵权请联系 cloudcommunity@tencent 删除coutdoubleint编译器c++

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1263016.html

相关标签:无
上传时间: 2025-07-28 11:34:01
留言与评论(共有 20 条评论)
本站网友 电信iptv
19分钟前 发表
一定记住float:有效数字位数7位
本站网友 有没有成人网站
13分钟前 发表
" << d << endl;    return 0; }结果:代码语言:javascript代码运行次数:0运行复制short s
本站网友 身份证查询系统带照片
12分钟前 发表
上述语句等号右边0.1
本站网友 怎么去除斑点
19分钟前 发表
在我的电脑且VC++6.0平台中默认显示是6位有效数字;double为双精度
本站网友 源码吧
12分钟前 发表
" << f << endl;    cout << "double d
本站网友 南汇二手房出售
29分钟前 发表
" << i << endl;    cout << "long   l
本站网友 bt资源下载站
5分钟前 发表
如有侵权请联系 cloudcommunity@tencent 删除前往查看coutdoubleint编译器c++
本站网友 元芳你怎么看图片
2分钟前 发表
double:有效数字位数7位
本站网友 虹口区龙之梦
6分钟前 发表
10 long l
本站网友 内蒙古乌梁素海
28分钟前 发表
10 float f
本站网友 快速美白肌肤
3分钟前 发表
一般改成0.1f就没事了
本站网友 岁月辉煌
22分钟前 发表
1000 long l
本站网友 ctf网络安全大赛
20分钟前 发表
1000 long l
本站网友 美剧暴君
18分钟前 发表
一般改成0.1f就没事了
本站网友 敬畏生命
25分钟前 发表
10 float f
本站网友 苏格拉底的爱情
10分钟前 发表
有效数位是7位(因为有正负
本站网友 成都朗基龙堂
1分钟前 发表
C++中
本站网友 美的电饭煲
28分钟前 发表
" << i << endl;    cout << "long   l
本站网友 大敦
26分钟前 发表
" << i << endl;    cout << "long   l