【发布时间】:2011-08-27 13:53:10
【问题描述】:
我的函数采用 32 位 int,如果该数字在任何偶数位置有 1,我需要返回 0 或 1。我不能使用任何条件语句,我也一次只能访问 8 位。
这是一个示例输入: 10001000 01011101 00000000 11001110
1) 用 AA(10101010) 移动位和它们,并将每个位存储在一个变量中。
int a = 10001000
int b = 1000
int c = 0
int d = 10001010
现在如果没有设置奇数位,我需要返回 0,如果有,则返回 1。正如我们所看到的那样。所以我需要将这些组合成一个数字,然后使用 !!运算符返回 0 或 1。这就是我遇到问题的地方。
int valueToReturn = a | b | c | d;
现在我要说:
return !!valueTOReturn;
这不是返回正确的值,谁能给我任何见解???
我不能使用任何条件语句,如 || &&
我想通了。我所说的一切都给出了正确的答案,但我为我的一个变量获取了错误的值。感谢大家的帮助!
【问题讨论】:
-
如果是,请将其标记为“家庭作业”。
-
为什么要做作业,现在是夏天 - 没有学校 xD
-
可以使用比较运算符吗?
-
你能发布
AA()的 impl 吗? a,b,c,d 的值可能不正确。
标签: c bit-manipulation bitwise-operators truthtable