Pourquoi « ~2 » est-il égal à -3 en Python ?

Susan Sarandon
Libérer: 2024-11-18 06:22:01
original
270 Les gens l'ont consulté

Why Does `~2` Equal -3 in Python?

L'opérateur de complément au niveau du bit Python (~~) expliqué

L'opérateur de complément au niveau du bit (~) en Python effectue une opération NOT au niveau du bit sur son opérande , en inversant tous les bits binaires. Cet opérateur est principalement utilisé pour représenter les nombres négatifs dans le système.

Comment fonctionne l'opérateur ~ ?

Les nombres négatifs sont stockés dans la mémoire de l'ordinateur à l'aide du complément à deux notation. Dans cette notation, le bit de signe indique si le nombre est positif ou négatif. Le reste des bits représente la grandeur du nombre.

Considérez le nombre -2. En complément à deux, il est représenté comme suit (8 bits) :

1111 1110
Copier après la connexion

Cette représentation est dérivée en prenant le complément binaire de la contrepartie positive (2) et en ajoutant un.

0000 0010 (positive 2) -> 1111 1101 (complement) -> 1111 1110 (add one for negative)
Copier après la connexion

Comment ~2 est égal à -3

Pour comprendre pourquoi ~2 est égal à -3, examinons le complément au niveau du bit de 2 :

0000 0010 (positive 2) -> 1111 1101 (complement)
Copier après la connexion

Ce complément est la représentation du complément à deux de -3 :

0000 0011 (positive 3) -> 1111 1100 (complement) -> 1111 1101 (add one for negative)
Copier après la connexion

Par conséquent, en inversant les bits de 2 à l'aide de l'opérateur ~, on obtient le modèle de bits qui représente -3 en notation complément à deux.

Point clé

C'est Il est important de noter que l'opérateur ~ effectue uniquement une inversion au niveau du bit. L'interprétation des bits résultants comme un nombre positif ou négatif est déterminée par la représentation en mémoire du système informatique.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal