Maison > Article > développement back-end > Pourquoi ~2 donne-t-il -3 en Python ?
Explorer l'opérateur de complément au niveau du bit de Python (~ Tilde)
Comprendre le fonctionnement de l'opérateur ~ de Python est crucial lorsqu'il s'agit de manipulation de bits. Cet opérateur complète chaque bit d'un nombre donné, en inversant essentiellement les 0 et les 1.
Pourquoi ~2 donne -3
L'opérateur ~ complète les bits d'un nombre, mais l'interprétation de la valeur résultante dépend de l'architecture de la machine. Dans la plupart des systèmes, les nombres négatifs sont stockés en utilisant le complément à deux.
Pour comprendre comment ~2 produit -3, examinons la représentation du complément à deux de -2 (8 bits) :
1111 1110
Ceci est obtenu en inversant les bits de la contrepartie positive (0000 0010), qui devient 1111 1101, et puis en ajoutant un. Le bit le plus à gauche (1) indique un nombre négatif.
Comment fonctionne l'opérateur ~
Lorsqu'il est appliqué à 2 (0000 0010), l'opérateur ~ complète chaque bit à produire 1111 1101 : ceci est identique à la représentation en complément à deux de -3. Par conséquent, ~2 = -3.
Implications de l'opérateur ~
Il est crucial de noter que l'opérateur ~ retourne simplement des bits ; l'interprétation de la valeur résultante est déterminée par la machine. Cela signifie que le comportement de l'opérateur ~ peut différer en fonction de l'architecture sous-jacente et des normes de représentation des données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!