Определите знак 32 бита INT

, используя только:

! ~ & ^ | + << >>

Нет циклов

Мне нужно определить знак 32-битного целого числа и мне нужно вернуть 1, если положительный, 0, если 0 и -1, если негативно.

Любые идеи? Я впервые подумал о переключении более 31 битов, а затем смотрел на этот знак, но это, очевидно, не будет работать, и теперь я вроде застрял.

8
задан Jacob Schoen 14 September 2012 в 18:25
поделиться