搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ C语言中关于数字的后缀
标题:
C语言中关于数字的后缀
只看楼主
灵魂摆渡人
等 级:
新手上路
帖 子:2
专家分:0
注 册:2018-7-19
结帖率:
0
楼主
已结贴
√
问题点数:10 回复次数:8
C语言中关于数字的后缀
大牛们!
原题目;
long a = 100;
int b = 294;
float x = 52.55;
float y = 18.6;
52.55 和 18.6 这两个数字默认都是 double 类型的,将 52.55 赋值给 x,必须先从 double 类型转换为 float 类型,而将 18.6 赋值给 y 就不用转换了。
同样是double类型,为什么18.6不用转换成float类型?
搜索更多相关主题的帖子:
C语言
数字
float
double
类型
2018-07-19 22:15
lin5161678
等 级:
贵宾
威 望:
45
帖 子:1136
专家分:3729
注 册:2011-12-3
第
2
楼
得分:2
你为什么觉得 18.6 不用转换?
https://zh.
2018-07-20 10:25
灵魂摆渡人
等 级:
新手上路
帖 子:2
专家分:0
注 册:2018-7-19
第
3
楼
得分:0
回复 2楼 lin5161678
这个问题他明确告诉我18.6不用转换为float类型,我也很纳闷这个问题
2018-07-20 16:34
自学的数学
等 级:
贵宾
威 望:
46
帖 子:967
专家分:4146
注 册:2017-11-15
第
4
楼
得分:2
这两个数定义的时候,就是单精度数,所以不用转换。
2018-07-20 22:12
花脸
等 级:
蝙蝠侠
威 望:
9
帖 子:788
专家分:907
注 册:2017-1-4
第
5
楼
得分:2
在内存中占有的字节数不同
单精度浮点数在机内占4个字节
双精度浮点数在机内占8个字节
(2)有效数字位数不同
单精度浮点数有效数字8位
双精度浮点数有效数字16位
(3)所能表示数的范围不同
单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38
双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308
是不是因为这。
2018-07-21 10:19
rjsp
等 级:
版主
威 望:
507
帖 子:8890
专家分:53117
注 册:2011-1-18
第
6
楼
得分:2
这个问题他明确告诉我18.6不用转换为float类型
------ 这个“他”是谁呀
2018-07-22 12:43
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册:2014-5-20
第
7
楼
得分:2
赋值时,=号两边的数据类型不同时,=号右边的数据类型转换为左边的数据类型。
2018-07-22 14:37
简方
等 级:
新手上路
威 望:
1
帖 子:5
专家分:0
注 册:2022-3-30
第
8
楼
得分:0
兄弟,你要看底层知识才行哦。
因为:
C语言固定,一个数字(包括整数和小数)它们是有默认类型的:
1)对于整数,它的默认是int类型;
2)对于小数,它的默认是double类型;
所以:100的默认是int,而变量名现在是long,所以将 100 赋值给 a,必须先从 int 类型转换为 long 类型,而将 294 赋值给 b 就不用转换了
所以:52.55和18.6它们的默认是doule,而变量名现在是float,所以要将52.55和18.6从double类型转换为float类型(你的代码里错了,应该是double y=18.6,这样才不需要转换哦)
2022-03-30 23:01
简方
等 级:
新手上路
威 望:
1
帖 子:5
专家分:0
注 册:2022-3-30
第
9
楼
得分:0
回复 8楼 简方
另外,如果不想使用默认的,就得数字后面加后缀呗
2022-03-30 23:02
9
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-488705-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.123801 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved