搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 类型转换问题。(float)i/j与(float)(i/j)有什么区别?具体看程序
标题:
类型转换问题。(float)i/j与(float)(i/j)有什么区别?具体看程序
只看楼主
gaoce227
来 自:山东
等 级:
业余侠客
帖 子:134
专家分:218
注 册:2008-4-5
第
11
楼
得分:0
回复 10楼 kettle99
o,我明白了,这个(float)(i/j)大有问题,因为i/j得出整形,再float强制,后面余数也只是00。
急着吃饭,绕进去了,郁闷。
你在二楼解释的对,不过float i/j,把两个都强制转换了吗?应该只转换i就可以吧?
[
本帖最后由 gaoce227 于 2010-6-5 17:47 编辑
]
2010-06-05 17:44
kettle99
等 级:
论坛游民
帖 子:52
专家分:54
注 册:2010-5-25
第
12
楼
得分:0
以下是引用
gaoce227
在2010-6-5 17:44:26的发言:
o,我明白了,这个(float)(i/j)大有问题,因为i/j得出整形,再float强制,后面余数也只是00。
急着吃饭,绕进去了,郁闷。
那(float)i/j怎么解释啊?结果是什么?
2010-06-05 17:46
gaoce227
来 自:山东
等 级:
业余侠客
帖 子:134
专家分:218
注 册:2008-4-5
第
13
楼
得分:0
回复 12楼 kettle99
这个只强制转换i就可以吧。
2010-06-05 17:48
kettle99
等 级:
论坛游民
帖 子:52
专家分:54
注 册:2010-5-25
第
14
楼
得分:0
以下是引用
gaoce227
在2010-6-5 17:48:39的发言:
这个只强制转换i就可以吧。
呵呵,实际运行结果跟你说的想法有出入
如果int i,j,a;
i=1;
j=2;
a=(float)i/j;则为0.5。
而a=(float)(i/j);为0
2010-06-05 18:56
gaoce227
来 自:山东
等 级:
业余侠客
帖 子:134
专家分:218
注 册:2008-4-5
第
15
楼
得分:0
回复 14楼 kettle99
我不想去弄了,你整这个也有问题。哪有定义个整形,再求浮点型的。
“
/*a明明是整形吗?*/
int i,j,a;
a=(float)i/j;则为0.5。
而a=(float)(i/j);为0
”
[
本帖最后由 gaoce227 于 2010-6-5 19:08 编辑
]
2010-06-05 19:06
kettle99
等 级:
论坛游民
帖 子:52
专家分:54
注 册:2010-5-25
第
16
楼
得分:0
以下是引用
gaoce227
在2010-6-5 19:06:37的发言:
我不想去弄了,你整这个也有问题。哪有定义个整形,再求浮点型的。
“
/*a明明是整形吗?*/
int i,j,a;
a=(float)i/j;则为0.5。
而a=(float)(i/j);为0
”
这才是学习嘛
2010-06-05 19:17
雨枫
等 级:
论坛游民
帖 子:3
专家分:10
注 册:2010-6-4
第
17
楼
得分:5
float i/j 是先把i转换为float型,然后进行除法,结果当然为实型,
而float(i/j)是先进行i/j运算,结果肯定是整型,然后转换为实型,小数部分肯定是0
2010-06-05 20:48
zhddragon
等 级:
职业侠客
帖 子:208
专家分:346
注 册:2009-5-14
第
18
楼
得分:0
随便找本c的书,翻到有运算符优先级表的那一页,把这个表认真的看看就知道为什么了。
身体是玩命的本钱
2010-06-05 23:06
18
2/2页
1
2
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-309272-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.117241 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved