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