关于实型数据的定义问题
float m = 200.0f;//这里的定义的数据代表什么意思?f的作用是什么?float m = 200f;//这里就会提醒f的后缀无效。why?
另外怎么使用e来定义实型数据? 姬世鹏 发表于 2019-12-18 22:41
是把221.0f强制转化成double型的意思吗?
嗯,因为m是double,所以要把221.0f转换成double float m = 200.0f;//这里的定义的数据代表什么意思?f的作用是什么?
这里定义了一个变量m,并且初始化为200,.0 表示200是浮点数,f表示是单精度浮点数,也就是float,如果没有f,默认是双精度浮点数,也就是double
float m = 200f;//这里就会提醒f的后缀无效。why?
200是一个int,不是double,不能加f,需要加一个 .0把int变成double才能加f,也就是把double变成float
https://zhidao.baidu.com/question/563856904.html 人造人 发表于 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);
显示结果都一样啊,不存在打印结果有单精度和多精度的区别啊? 姬世鹏 发表于 2019-12-18 22:13
我用float m = 221;
printf("%d\n",sizeof(m));
?
人造人 发表于 2019-12-18 22:16
?
不好意思打错了
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 人造人 发表于 2019-12-18 22:16
?
跪求指教 姬世鹏 发表于 2019-12-18 22:29
不好意思打错了
double m = 221.0f;
double m = 221.0f;
221.0f是float类型,m是double类型,然后又把221.0f转回double
人造人 发表于 2019-12-18 22:35
double m = 221.0f;
221.0f是float类型,m是double类型,然后又把221.0f转回double
是把221.0f强制转化成double型的意思吗? 人造人 发表于 2019-12-18 22:43
嗯,因为m是double,所以要把221.0f转换成double
万般感谢
页:
[1]