Python y Poderes Matemáticas
He estado aprendiendo Python pero estoy un poco confundido. Los instructores en línea me dicen que use el operador * * en lugar de ^ cuando estoy tratando de elevar a un cierto número. Ejemplo:
print 8^3
Da una salida de 11. Pero lo que busco (me dicen) es más parecido a: imprimir 8**3 que da la respuesta correcta de 512. ¿Pero por qué?
¿Puede alguien explicarme esto? ¿Por qué es que 8^3 no es igual a 512, ya que es la respuesta correcta? ¿En qué caso sería 11 (el resultado de 8^3)?
Traté de buscar ASÍ, pero solo estoy viendo información relativa a obtener un módulo al dividir.
3 answers
Operator ^
es un operador bitwise , que hace "bitwise exclusive or".
Más: http://wiki.python.org/moin/BitwiseOperators
El operador de energía es **
, como 8**3
que es igual a 512
.
Ref: http://docs.python.org/reference/expressions.html#the-power-operator
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-20 19:35:35
Los símbolos representan diferentes operadores.
El ^
representa la exclusiva o(XOR
).
Cada bit de la salida es el mismo que el bit correspondiente en x si que poco en y es 0, y es el complemento del bit de x si ese bit en y es 1.
**
representa al operador de energía. Esa es la forma en que el lenguaje está estructurado.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-20 19:56:06
Es solo que ^
no significa "exponente" en Python. Significa "bitwise XOR". Véase la documentación.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-20 19:34:17