Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Diferença entre ** e ^ em phython

Olá, estou com uma dúvida simples.

estava escrevendo um código, e ao invés de fazer a exponenciação normal (**) confundi e coloquei (^), mas no python ele aceita a operação com ^

Exemplos

2**8 
16
2^8
10

No primeiro temos 2 elevado a 8, que vai dar 16 como esperado, mas no segundo 2^8 = 10, que operação ele faz aqui? o que esse ^ significa?

1 resposta
solução!

Oi Vinícius

Em Python ^ é o operador XOR

(a and not b) or (not a and b)

Usando booleans fica mais fácil de entender esse operador:

>>> True ^ False
True
>>> True ^ True
False
>>> False ^ True
True
>>> False ^ False
False

No caso de inteiros é comparado bit a bit e depois o resultado pode dar outro inteiro

Se quiser saber mais, segue uma fonte explicando os Bitwise Operators: https://realpython.com/python-bitwise-operators/#bitwise-xor