Using ONLY:
! ~ & ^ | + << >>
NO LOOPS
I need to determine the sign of a 32 bit integer and I need to return 1 if positive, 0 if 0 and -1 if ne
Dimitri's idea could be simplified to (!!x) - ((x >> 30) & 2)
And just to give one more cryptic solution:
~!x & ((-((unsigned) x >> 31)) | !!x)