鱼C论坛

 找回密码
 立即注册
查看: 1440|回复: 11

[已解决]关于实型数据的定义问题

[复制链接]
发表于 2019-12-18 17:14:47 | 显示全部楼层 |阅读模式
10鱼币
float m = 200.0f;//这里的定义的数据代表什么意思?f的作用是什么?
float m = 200f;//这里就会提醒f的后缀无效。why?
另外怎么使用e来定义实型数据?
最佳答案
2019-12-18 17:14:48
姬世鹏 发表于 2019-12-18 22:41
是把221.0f强制转化成double型的意思吗?

嗯,因为m是double,所以要把221.0f转换成double

最佳答案

查看完整内容

嗯,因为m是double,所以要把221.0f转换成double
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-12-18 17:14:48 | 显示全部楼层    本楼为最佳答案   
姬世鹏 发表于 2019-12-18 22:41
是把221.0f强制转化成double型的意思吗?

嗯,因为m是double,所以要把221.0f转换成double
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-12-18 22:02:29 | 显示全部楼层
  1. float m = 200.0f;//这里的定义的数据代表什么意思?f的作用是什么?
复制代码

这里定义了一个变量m,并且初始化为200,  .0 表示200是浮点数,f表示是单精度浮点数,也就是float,如果没有f,默认是双精度浮点数,也就是double
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-12-18 22:04:41 | 显示全部楼层
  1. float m = 200f;//这里就会提醒f的后缀无效。why?
复制代码

200是一个int,不是double,不能加f,需要加一个 .0把int变成double才能加f,也就是把double变成float
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-12-18 22:10:29 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-12-18 22:13:05 | 显示全部楼层
人造人 发表于 2019-12-18 22:02
这里定义了一个变量m,并且初始化为200,  .0 表示200是浮点数,f表示是单精度浮点数,也就是float,如果 ...

我用float m = 221;
       
        printf("%d\n",sizeof(m));
        printf("%f",m);
        //
        float m = 221;
       
        printf("%d\n",sizeof(m));
        printf("%f",m);
显示结果都一样啊,不存在打印结果有单精度和多精度的区别啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-12-18 22:16:28 | 显示全部楼层
姬世鹏 发表于 2019-12-18 22:13
我用float m = 221;
       
        printf("%d\n",sizeof(m));

?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-12-18 22:29:47 | 显示全部楼层

不好意思打错了
double m = 221.0f;
       
        printf("%d\n",sizeof(m));
        printf("%f",m);

double m = 221;
       
        printf("%d\n",sizeof(m));
        printf("%f",m);

//我的意思是把这两种情况对比,221.0f和221是不是会有所占空间大小和所带小数的区别,结果打印出来都一样的大小都为8,并没有区别,所以不太懂你说的double变成了float
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-12-18 22:31:13 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-12-18 22:35:47 | 显示全部楼层
姬世鹏 发表于 2019-12-18 22:29
不好意思打错了
double m = 221.0f;
       

double m = 221.0f;
221.0f是float类型,m是double类型,然后又把221.0f转回double
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-12-18 22:41:12 | 显示全部楼层
人造人 发表于 2019-12-18 22:35
double m = 221.0f;
221.0f是float类型,m是double类型,然后又把221.0f转回double

是把221.0f强制转化成double型的意思吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-12-18 22:45:19 | 显示全部楼层
人造人 发表于 2019-12-18 22:43
嗯,因为m是double,所以要把221.0f转换成double

万般感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-12 12:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表