Bonjour,
Je suis en train de découvrir les opérateurs sur les bits. J'ai bien compris le &, le |, et le ^. Mais je bloque sur le ~ (not). La doc précise Les bits qui sont positionnés à 1 dans $a sont positionnés à 0, et vice-versa.
Je vais quelques tests pour comprendre comment cela fonctionne :
Je m'attendais à avoir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $a = 1; // soit 01 en binaire $b = 2; // soit 10 en binaire echo ~ $a; echo ~ $b;
Or j'obtiens -2 et -3
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 // pour ~ $a : 4294967294 // soit en binaire 11111111111111111111111111111110 // puisque ma valeur de départ est 00000000000000000000000000000001 // pour ~ $b : 4294967293 // soit en binaire 11111111111111111111111111111101 // puisque ma valeur de départ est 00000000000000000000000000000010
Je n'arrive pas à comprendre ce résultat. Est-ce à cause d'une mauvaise interprêtation de la doc ? D'une mauvaise config PHP ? d'Obiwan Kenobi qui s'est fait racheter par Mickey ?
Bref je me sens équivalent à un 0 sur ce coup... J'espère que vous pourrez m'aider à passer à 1 !
Merci pour vos conseils![]()
Partager