搜索
编程论坛
→
.NET专区
→
『 C# 论坛 』
→ 浮点数进制问题,请大家教一下我这个刚学c的啊!
标题:
浮点数进制问题,请大家教一下我这个刚学c的啊!
只看楼主
guikun
等 级:
新手上路
帖 子:3
专家分:0
注 册:2012-12-1
结帖率:
50%
楼主
已结贴
√
问题点数:5 回复次数:3
浮点数进制问题,请大家教一下我这个刚学c的啊!
我问了我们的讲师她也没给我讲清楚
double a=12.195;
printf("%lf",a);
的到的结果是12.20
float a=12.195;
printf("%f",a);得到的结果是12.19
这里就有个问题单精度和双精度就取值范围大小不同,为什么单精度的不会产生进位,而双精度的会产生进位,请知道的帮助一下啊!
搜索更多相关主题的帖子:
double
讲师
2012-12-04 23:31
mayuebo
等 级:
蜘蛛侠
威 望:
6
帖 子:257
专家分:1282
注 册:2005-9-8
第
2
楼
得分:5
printf("%lf",a);
printf("%f",a);
printf输出的结果是由占位符决定的。
d 有符号10进制整数 i 有符号10进制整数 o 无符号8进制整数 u 无符号10进制整数 x 无符号的16进制数字,并以小写abcdef表示 X 无符号的16进制数字,并以大写ABCDEF表示 f 浮点数 E/e 用科学表示格式的浮点数 g 使用%f和%e表示中的总的位数表示最短的来表示浮点数 G 同g格式,但表示为指数 c 单个字符 s 字符串
double占8个字节
float占4个字节
浮点数在内存中用表示符合IEEE754标准。如果用float则取前4个字节的内容,如果是double则取前8个字节。在转换时会自动的四舍五入。
成功贵在坚持
2012-12-05 06:15
guikun
等 级:
新手上路
帖 子:3
专家分:0
注 册:2012-12-1
第
3
楼
得分:0
回复 2楼 mayuebo
我还不很清楚,能再讲的清楚些吗?谢谢!(我有个疑问,是不是在所有情况下,对float进行保留小数都不会进位,而对double不会)
2012-12-05 22:37
何事惊慌
等 级:
侠之大者
威 望:
4
帖 子:220
专家分:499
注 册:2008-7-2
第
4
楼
得分:0
a.tostring(“F2")系统有提供自动的方法
QQ:860234001
编程交流群:236949758
2012-12-09 16:55
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-389615-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.224052 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved