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 :

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;
Je m'attendais à avoir :
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
Or j'obtiens -2 et -3

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