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 0b00que 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+1evalúa 2en algunas versiones, debido a un error del analizador.
var_dump(!(0b10 & 0b01))