再问一个问题:输入一个整数,将其低位字节清零后输出.
是什么意思啊,题目让我们具体的做什么呀?谢谢了哈.
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编辑过]