| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 15622 人关注过本帖
标题:C++里整数相除只能得到整数吗?
只看楼主 加入收藏
Sornets
Rank: 2
等 级:论坛游民
帖 子:102
专家分:61
注 册:2012-11-22
结帖率:58.82%
收藏
已结贴  问题点数:20 回复次数:13 
C++里整数相除只能得到整数吗?
RT,比如
int a = 100,b = 101,c = 102;
double p;
p = (a + b + c)/2;

这个p为什么不是151.5呢?
搜索更多相关主题的帖子: double 
2013-05-27 22:08
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
收藏
得分:3 
int a = 100,b = 101,c = 102;
double p;
p = (a + b + c)/2.0;//改成这样试试!

新手发言,说错勿怪!!

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-05-27 22:44
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:3 
2L正确

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-05-28 07:07
lzj12530
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:264
专家分:841
注 册:2013-3-28
收藏
得分:3 
就楼主例子而言,“/”是取商符号,如果上下两个数都是整数类型。那么他运算的结果默认就是int类型,因此只会取整数。如果要获得浮点数可以像2楼一样在表达式中加如浮点类型的数据。
就是p=(a+b+c)/2.0。这样结果就是浮点数。或者使用强制类型转换,例如P=(double)(a+b+c)/2;强制把结果转换为浮点数。 这两种方式可以使用
程序代码:
int a=100,b=101,c=102;
double p;
p=(a+b+c)/2.0;
//或者是 p=(double)(a+b+c)/2;



[ 本帖最后由 lzj12530 于 2013-5-28 08:59 编辑 ]

C++菜鸟
2013-05-28 08:49
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:3 
类型的隐式转换,系统会的

Maybe
2013-05-28 12:05
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:3 
整数除法就是整数结果,如果有浮点数才会出现浮点结果。

做这种规定是因为以前 cpu 处理整数和浮点数是不同模块的工作。如果指令里没有要求计算浮点的话,就不加载浮点指令了。现在的 PC 大多都在一起了。
2013-05-28 12:41
子楠
Rank: 3Rank: 3
来 自:武汉
等 级:论坛游侠
帖 子:111
专家分:164
注 册:2013-4-9
收藏
得分:3 
类型转换,
2013-05-28 12:53
Sornets
Rank: 2
等 级:论坛游民
帖 子:102
专家分:61
注 册:2012-11-22
收藏
得分:0 
回复 2楼 我叫沃恩
对啊!
忘记这种方法了,我是从定义那里一个个改成double了。。
2013-05-28 17:40
Sornets
Rank: 2
等 级:论坛游民
帖 子:102
专家分:61
注 册:2012-11-22
收藏
得分:0 
回复 4楼 lzj12530
p=(double)(a+b+c)/2;

这个能不能理解成跟2.0的原理一样,只是把分子改成浮点型,得到浮点型的结果?
2013-05-28 17:41
Sornets
Rank: 2
等 级:论坛游民
帖 子:102
专家分:61
注 册:2012-11-22
收藏
得分:0 
回复 5楼 邓士林
恩 谢谢!
2013-05-28 17:41
快速回复:C++里整数相除只能得到整数吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030963 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved