Me he encontrado con un caso (aparentemente) muy extraño.
Tome el número 2 ( 0b10
) y enmascarelo con 1 ( 0b01
)
Esto debería producir lo 0b00
que es equivalente a 0.
Sin embargo, aquí es donde entra el señor Schrödinger:
var_dump(0b10 & 0b01); // int(0)
var_dump(0b10 & 0b01 == 0); // int(0)
var_dump(0b10 & 0b01 != 0); // int(0)
Whisky. Tango. Fox.
Es cierto que no soy el más agudo cuando se trata de operadores bit a bit, así que tal vez me haya equivocado horriblemente en alguna parte.
Sin embargo, en Python:
0b10 & 0b01 == 0
= True
0b10 & 0b01 != 0
= False
...¿entonces?
Sin embargo, algo más extraño:
—
Lily Chung
0b0+1
evalúa 2
en algunas versiones, debido a un error del analizador.
var_dump(!(0b10 & 0b01))