【发布时间】:2011-11-05 17:01:19
【问题描述】:
我有一个 32 位的 int,我一次只能访问 8 位。我需要确定每个偶数位是否设置为 0,如果为真则返回 0,否则返回 1。
到目前为止,我将使用移位将我的 int 拆分为 4、8 位变量。 整数a,b,c,d
现在我不打算使用它们,所以现在我将测试该位是否设置为 1 而不是 0。 为了测试它是否设置为 1,我会在 01010101 之前和它们。
现在我不知道如何判断每个偶数位是否设置为 1。我不能使用 if/for/while 循环或任何条件语句,需要使用按位运算符。有任何想法吗????
【问题讨论】:
-
先向我们展示您拥有的东西。我不是为你做作业。
-
不幸的是,马特,不是所有人都同意:(
-
@Matt H - 我回答了他的问题,因为它是“原子的”。他已经迈出了识别要使用的位掩码的步骤,所以只差一步了。我发现使用按位算术,人们只有在看到有效答案后才会“明白”。
-
他说没有条件陈述的人请在回答之前仔细阅读问题:P
-
@niko 条件句很容易分解 - 作业应该仍然是一个挑战 eh :-)
标签: c logic bit-manipulation