私は少しいじる宿題の練習の最後の問題でトラブルを抱えています。任意の奇数ビットはここで1 に設定されている場合、関数は1を返すことになっていることは、私がこれまで持っているものです:完璧に動作しますが、私は(大のみ許可されていることの定数を使用することはできないのですCでのビット単位の操作 - AnyOddBit
int anyOddBit(int x) {
return (x & 0xaaaaaaaa) != 0;
}
0〜255,0xFF)。私はまた、使用することはできないのです=
具体的には、これは私が使用することに限定されていますものです:!
Each "Expr" is an expression using ONLY the following:
1. Integer constants 0 through 255 (0xFF), inclusive. You are
not allowed to use big constants such as 0xffffffff.
2. Function arguments and local variables (no global variables).
3. Unary integer operations ! ~
4. Binary integer operations &^| + << >>
を私はそれらの制限内の中にこれを行う方法を見つけ出すことはできませんし、私が本当にしたいです誰かが私を正しい方向に向けることができれば感謝します。前もって感謝します!あなたが先に論理積のあなたの論理和を行うことができ
それでは、どの値(S)より小さい比較を作るには? –