Проверьте, является ли число x
ненулевым, используя законные операторы, кроме !
.
Примеры: isNonZero(3) = 1
, isNonZero(0) = 0
Правовые операции: ~
&
^
|
+
<<
>>
- Примечание. Следует использовать только побитовые операторы.
if
,else
,for
и т.д. не могут быть использованы. - Edit1: количество операторов не должно превышать 10.
- Edit2: размер
int
должен быть 4 байта.
int isNonZero(int x) {
return ???;
}
Используя !
, это было бы тривиально, но как мы это сделаем, не используя !
?