Ich bin auf einen (scheinbar) sehr seltsamen Fall gestoßen.Vorrang- und Bitmaskenoperationen
Nehmen Sie die Nummer 2 (0b10
) und Bitmaske mit 1 (0b01
)
Diese 0b00
produzieren sollte, die jedoch auf 0
entspricht, ist hier, wo Herr Schrödinger kommt:
var_dump(0b10 & 0b01); // int(0)
var_dump(0b10 & 0b01 == 0); // int(0)
var_dump(0b10 & 0b01 != 0); // int(0)
Whiskey. Tango. Foxtrott.
Ich bin zugegebenermaßen nicht der schärfste, wenn es um bitweise Operatoren geht - also habe ich irgendwo schrecklich, schrecklich falsch gelegen?
jedoch in Python:
0b10 & 0b01 == 0
= True
0b10 & 0b01 != 0
= False
... so?
ich nicht in PHP, aber in C, C++ Sie einfach als 'Var_dump schreiben konnte ((0b10 & 0b01)) ' –
Etwas seltsamer aber:' 0b0 + 1' ergibt in einigen Versionen aufgrund eines Parser-Fehlers '2'. – ikdc