web-dev-qa-db-fra.com

Python et Powers Math

J'ai appris Python mais je suis un peu confus. Les instructeurs en ligne me disent d'utiliser l'opérateur ** par opposition à ^ lorsque j'essaye d'augmenter à un certain nombre. Exemple :

print 8^3

Donne une sortie de 11. Mais ce que je recherche (on me dit) ressemble plus à: imprimer 8 ** 3 qui donne la bonne réponse de 512. Mais pourquoi?

Quelqu'un peut m'expliquer cela? Pourquoi est-ce que 8 ^ 3 n'est pas égal à 512 car c'est la bonne réponse? Dans quel cas 11 (le résultat de 8 ^ 3)?

J'ai essayé de rechercher SO mais je ne vois que des informations concernant l'obtention d'un module lors de la division.

33
Interrupt

Opérateur ^ est un opérateur au niveau du bit, qui fait "exclusif au niveau du bit ou" .
Plus: http://wiki.python.org/moin/BitwiseOperators

L'opérateur de puissance est **, comme 8**3 ce qui équivaut à 512.
Réf: http://docs.python.org/reference/expressions.html#the-power-operator

66
behnam

Les symboles représentent différents opérateurs.

Le ^ représente l'exclusif au niveau du bit ou (XOR) .

Chaque bit de la sortie est le même que le bit correspondant en x si ce bit en y est 0, et c'est le complément du bit en x si ce bit en y est 1.

** représente l'opérateur de puissance. C'est juste la façon dont le langage est structuré.

15
Sam Dolan

C'est juste ça ^ ne signifie pas "exposant" en Python. Cela signifie "XOR au niveau du bit". Voir la documentation .

0
BrenBarn