宿題を少しいじる最後の問題で問題が発生しています。奇数ビットが1に設定されている場合、関数は1を返すことになっています。これまでのところ、次のようになっています。
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 & ^ | + << >>
私はそれらの制限の中でこれを行う方法を理解することができません、そして誰かが私を正しい方向に向けることができれば本当にありがたいです。前もって感謝します!