| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1617 人关注过本帖
标题:[求助]关于逻辑运算符的问题
只看楼主 加入收藏
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 
对于19楼的问题,我想两个整形数据相除,小的除以大的,结果是0。所以得到了上面的结果。

该学习了。。。
2006-10-30 12:27
fans
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-9-4
收藏
得分:0 
以下是引用yyfvh在2006-10-30 12:16:02的发言:
请教一下大家
x+a%3*(int)(x+y)%2/4
x=2.5,a=7,y=4.7
为什么上式值是2.5,而不是2.75.

首先这个表达式的运算过程为: x + ((((a%3)*(int)(x+y))%2)/4)

((a%3)*(int)(x+y))%2 也就是 a%3*(int)(x+y)%2 的计算结果为1,
按照向0靠近的原则(常见计算机都是),1整除4 的结果为0。所以最后结果为2.5

如果要得到2.75,则要将表达式改为 x+a%3*(int)(x+y)%2/4.0 ,
1除以4.0结果为0.25,然后在控制格式输出为小数部分输出两位就可以了。

[此贴子已经被作者于2006-10-30 17:29:29编辑过]

2006-10-30 17:22
快速回复:[求助]关于逻辑运算符的问题
数据加载中...
 
   



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

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