simbolo poner operator logico diferente como and php bit-manipulation bitwise-operators operator-precedence

poner - php<=>



Precedencia y operaciones de máscara de bits (1)

En realidad estás haciendo esto:

var_dump(0b10 & (0b01 == 0)); var_dump(0b10 & (0b01 != 0));

Tratar:

var_dump((0b10 & 0b01) == 0); var_dump((0b10 & 0b01) != 0);

Me encontré con un caso (aparentemente) muy extraño.

Tome el número 2 ( 0b10 ) y 0b10 con 1 ( 0b01 )

Esto debería producir 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.

Estoy, sin duda, no es el más agudo cuando se trata de operadores bit a bit, así que tal vez me he equivocado de forma horrible y horrible en alguna parte.

Sin embargo, en Python:

0b10 & 0b01 == 0 = True

0b10 & 0b01 != 0 = False

...¿asi que?