Dea*_*hIt 0 c logic bit-manipulation
我试图在C中进行一些逻辑操作但是卡住了.我需要编写一个函数,给定一个输入参数,它将评估我的参数是否将所有偶数位设置为1.例如:
myFunction (0xFFFFFFFE) = 0;
myFunction (0x55555555) = 1;
Run Code Online (Sandbox Code Playgroud)
我被允许使用的运营商是:! ~ & ^ | + << >>.我不能使用if语句,循环或相等检查(所以没有==或!=运算符).
您需要使用掩码测试该值,并且在不使用的情况下如何测试相等性会有点狡猾==,例如:
return !((n & 0x55555555) ^ 0x55555555);
Run Code Online (Sandbox Code Playgroud)
注意:这假定为32位值.