| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1039 人关注过本帖
标题:该程序的功能是什么?
只看楼主 加入收藏
zzsy04et138
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2006-10-18
收藏
得分:0 

再问一个问题:输入一个整数,将其低位字节清零后输出.
是什么意思啊,题目让我们具体的做什么呀?谢谢了哈.


2007-10-03 17:00
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
得分:0 

a=x%2;//得到x的末位0或1
x=x/2;//相当于x向右移动一位
循环执行上述两句,相当于把x的二进制表示求出来了
b=y%2;
y=y/2;执行情况及作用和上述情况类似

z=z+a*b*k;//当a和b均为1时,z的值才增加,相当于a和b进行与运算
k=k*2;//权值依次增加
也就是说当x和y的二进制表示中的对应位均为1时,z此时才会增加,增量为该位所对应的权值

比如x=10,y=14
x用二进制表示为1010
y用二进制表示为1110
可以看出x和y的二进制表示只有在第2位和第4位才同时为1,它们对应的权值分别为2、8,所以z最后的输出应该为10

[此贴子已经被作者于2007-10-3 18:40:24编辑过]


英者自知,雄者自胜
2007-10-03 18:39
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
得分:0 
以下是引用zzsy04et138在2007-10-3 17:00:39的发言:

再问一个问题:输入一个整数,将其低位字节清零后输出.
是什么意思啊,题目让我们具体的做什么呀?谢谢了哈.

可以用C中的位运算实现,比如有一个整数a,与十六进制数f0进行按位与运算
a=(int)(a&0xf0)就相当于把低位字节全部清零。

位运算一般在底层编程时用得到吧,特别是对硬件操作的时候。现在的操作系统,以及硬件驱动,都会用到位运算的!高级编程用得就少了吧!~


英者自知,雄者自胜
2007-10-03 18:50
海纳百川
Rank: 1
来 自:湖北荆州
等 级:新手上路
帖 子:186
专家分:5
注 册:2007-10-2
收藏
得分:0 
2楼写的很明白我是知道了

2007-10-03 19:14
奔跑的鸟
Rank: 1
等 级:新手上路
帖 子:391
专家分:0
注 册:2006-1-20
收藏
得分:0 
顶12,13楼,说得很明白:)

简单的快乐着~
2007-10-03 20:00
zzsy04et138
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2006-10-18
收藏
得分:0 
呵呵,谢谢楼上的朋友们,现在知道了.

2007-10-05 15:51
快速回复:该程序的功能是什么?
数据加载中...
 
   



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

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