Compruebe si un número no es cero utilizando operadores bit a bit en C
Comprueba si un númerox
es distinto de cero usando los operadores legales excepto!
.
Ejemplos:isNonZero(3) = 1
, isNonZero(0) = 0
Operaciones legales:~
&
^
|
+
<<
>>
if
, else
, for
, etc. no se pueden usar.Edit1: el número de operadores no debe exceder 10.Edit2: considere el tamaño deint
ser de 4 bytes.int isNonZero(int x) {
return ???;
}
Utilizando!
esto sería trivial, pero ¿cómo lo hacemos sin usar!
?