首页
编程星球
啊哈磊的小伙伴
求助
交流
添柴
挑战
题库
院校合作
加入圈子
扫码关注啊哈磊
QQ群:703568346
@啊哈编程星球
暑期课程
金牌教练带你玩转编程!
扫码预约课程
未登录
我的添柴
退出账号
搜索
搜索
本版
文章
帖子
用户
啊哈磊_编程从这里起步
»
交流
›
互助分享
›
学习求助
›
小白求教
小白求教
查看数:
599
|
评论数:
6
|
收藏
0
关灯
|
提示:支持键盘翻页<-左 右->
帖子模式
组图打开中,请稍候......
分享
0
收藏
0
吾尔剀西
发布时间:
2014-5-28 21:10
正文摘要:
本帖最后由 吾尔剀西 于 2014-5-28 21:11 编辑 为什么结果是1010.000061 为什么会有后面的61
回复
hqa1101
发表于
2014-5-31 18:35:28
用doudle a,b,c,d;
cad20020601
发表于
2014-5-30 21:37:34
别用float了骚年,用double吧
吾尔剀西
发表于
2014-5-29 11:29:24
thank you 明白了呢
4399APPLE2
发表于
2014-5-29 09:44:46
double a,b,c,d;
复制代码
李掌柜
发表于
2014-5-28 22:06:18
float是浮点型类型,如与整数乘时会有精确丢失,,
本代码解决方法是两种:
方法1
#include<stdio.h>
int main(void)
{
float a,b,c,d;
a=10.1;
b=10;
c=10;
d=a*((float)b*(float)c);/*乘法时,b c 申明成float 浮点型*/
system("color f2");
printf("%.f",d);
return 0;
}
复制代码
方法2
#include<stdio.h>
int main(void)
{
float a,b,c,d;
a=10.1;
b=10.0;/*把b申明成浮点型*/
c=10.0;/*把c申明成浮点型*/
d=a*(b*c);
system("color f2");
printf("%.f",d);
return 0;
}
复制代码
rosynirvana
发表于
2014-5-28 21:10:23
因为10.1不能在当前通用标准下用二进制写成有限小数
所以总是不精确的
快速回复
返回顶部
返回列表