接题目:
/*Return 1 when any odd bit of x equals 1;0 otherwise.
Assume w =32 */
int any_odd_one(unsigned x);
开始作答
题目的意思是 当无符号数x只要要有一奇数位为1时,返回1,否则就返回0。
答案
#include <stdio.h>
#include <assert.h>
int any_odd_one(unsigned x) {
return !!(0xAAAAAAAA & x);
}
int main(int argc, char* argv[]) {
assert(any_odd_one(0x2));
assert(!any_odd_one(0x4));
return 0;
}