Exemple d'exercice Python 55

Python 100例100 exemples Python

Sujet :Apprenez à utiliser l'opérateur NON bit à bit ~.

Explication :

Les nombres binaires sont stockés en mémoire sous forme de complément à deux.

NON bit à bit : inversez chaque bit d'un nombre binaire, 0 devient 1, 1 devient 0.

Le bit de poids fort est le bit de signe, avec 0 pour les nombres positifs et 1 pour les nombres négatifs.

Pour les nombres positifs, le bit de poids fort est 0, et les bits restants représentent la valeur elle-même (en binaire). Par exemple, le complément à deux de +42 est 00101010.

Pour les nombres négatifs, prenez le complément à deux de la valeur absolue, inversez-le bit à bit, puis ajoutez 1 à l’ensemble du nombre pour obtenir le complément à deux de ce nombre. Par exemple, le complément à deux de -42 est 11010110 (00101010 inversé bit à bit

est 11010101, plus 1 donne 11010110).

Étapes de calcul pour ~9 :

转二进制:0 1001
计算补码:0 1001
按位取反:1 0110

Convertir en code original :

按位取反:1 1001  
末位加 1:1 1010
符号位为 1 是负数,即 -10

Exemple

#!/usr/bin/python
# -*- coding: UTF-8 -*-

a = 7
b = ~a

c = -7
d = ~c

print ('Le résultat de l’opération NON bit à bit sur la variable a est : %d' % b)
print ('Le résultat de l’opération NON bit à bit sur la variable c est : %d' % d)

Le résultat de sortie de l'exemple ci-dessus est :

变量 a 取反结果为: -8
变量 c 取反结果为: 6

Explication :

  • ~7, en effectuant un NON bit à bit sur 7, le complément à deux de 7 est 00000111, en inversant le complément à deux on obtient 11111000, le bit de poids fort 1 est le bit de signe, ce qui indique un nombre négatif, donc l’entier correspondant à ce complément à deux est -8.

  • ~-7En effectuant un NON bit à bit sur -7, le complément à deux de -7 est 11111001, en inversant le complément à deux on obtient 00000110, le bit de poids fort 0 est le bit de signe, ce qui indique un nombre positif, donc l’entier correspondant à ce complément à deux est 6.

Python 100例100 exemples Python

Autres extensions