Formule de conversion => ~x = -x - 1
La conversion d'un nombre décimal négatif (par exemple-3) en binaire se fait en 3 étapes :
1) conversion de la version positive du nombre décimal en binaire(3 = 0011)
2) inversion des bites (0011 becomes 1100)
3) ajout d'1 bit (1100 + 0001 = 1101)
Pourquoi 1101 = -3 ?
PHP utilise la méthode "complément de 2" pour rentre négatif les nombres binaires négatifs
Si le bits le plus à gauche est un 1 alors le nombre binaire est négatif donc on inverse et on ajoute 1
Si c'est un 0, il est positif, donc on ne fait rien
0010 sera un 2 positif
1101 sera un 2 négatif, et on inversera pour obtenir 0010, puis en ajoutant 1 on obtient 0011 qui équivaut à -3
Partager