Actually I just checked google and Inphernic's quite right. But I shouldn't care anyway, I'm just talking about the questions... it's free speech.
CGamesPlay - you can search the forums like this if you want.
Sorry, you can't use the equality operator or other comparison operators, just the following 8 operators: !, ~, &, ^, |, +, >>, <<. Except for logicalNegate() in which you can't use !. (I just noticed I made a typo in the OP where I said you couldn't use "any operators", but I meant "any other operators".)
Here are the rest of questions, the ones that I could actually do. I've done nearly all of them so I can post my own answers later if people are interested. But the good thing about these questions is that it's easy to check if you have the right answer or not - just compile and test your functions on some random values. And remember that you can only use constants between 0 and 255, and that = doesn't count towards your ops.
bitAnd(int x, int y): Return x & y, but only using the ~ and | operators.
Max ops: 8
bitXor(int x, int y): Return x ^ y, but only using ~ and & operators.
Max ops: 14
evenBits(): Give 32 bit word with each even numbered bit set (.....010101).
Max ops: 8
getByte(int x, int n): From 32 bit word x, extract byte n, where LS byte is 0 and MS byte is 3.
Max ops: 6
bitMask (int high, int low): Return mask with bits from high to low set to one. E.g. bitMask(5, 2) should return ...00011100 in binary.
Max ops: 16
reverseBytes (int x): Return the bytes of x in reverse order, so that the MS byte is in LS place.
Max ops: 25
minusOne(): Return -1. Yes, that's all .
Max ops: 2
tmax(): Return maximum possible positive signed integer.
Max ops: 4
negate(int x): Return negative x
Max ops: 5
sm2tc(int x): Convert x from sign-mag form to 2's complement. Remember that sign-mag form uses the MSB to indicate sign but is otherwise the same as the unsigned format.
Max Ops: 15
Finally, this wasn't really a question but it's a pretty cool trick anyway that you may already know:
swap(int *x, int *y). Swap two integers.
Special: You can't use any extra variables, BUT you can use the dereference (*) operator which doesn't count towards your op total (like =).
Max Ops: 3
Maverick: Nice idea , I actually tried that, but the problem is arithmetic overflow if x is a very low negative and y is a high positive. And by the way, to get -x, you need ~x + 1.