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