姬世鹏 发表于 2019-12-18 17:14:47

关于实型数据的定义问题

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

人造人 发表于 2019-12-18 22:02:29

float m = 200.0f;//这里的定义的数据代表什么意思?f的作用是什么?
这里定义了一个变量m,并且初始化为200,.0 表示200是浮点数,f表示是单精度浮点数,也就是float,如果没有f,默认是双精度浮点数,也就是double

人造人 发表于 2019-12-18 22:04:41

float m = 200f;//这里就会提醒f的后缀无效。why?
200是一个int,不是double,不能加f,需要加一个 .0把int变成double才能加f,也就是把double变成float

人造人 发表于 2019-12-18 22:10:29

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

姬世鹏 发表于 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);
显示结果都一样啊,不存在打印结果有单精度和多精度的区别啊?

人造人 发表于 2019-12-18 22:16:28

姬世鹏 发表于 2019-12-18 22:13
我用float m = 221;
       
        printf("%d\n",sizeof(m));


?

姬世鹏 发表于 2019-12-18 22:29:47

人造人 发表于 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:31:13

人造人 发表于 2019-12-18 22:16
?

跪求指教

人造人 发表于 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

姬世鹏 发表于 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型的意思吗?

姬世鹏 发表于 2019-12-18 22:45:19

人造人 发表于 2019-12-18 22:43
嗯,因为m是double,所以要把221.0f转换成double

万般感谢
页: [1]
查看完整版本: 关于实型数据的定义问题