Python и Powers Math
Я изучал Python, но я немного смущен. Онлайн-инструкторы говорят мне использовать оператор ** в противоположность ^, когда я пытаюсь поднять до определенного числа. Пример:
print 8^3
Дает результат 11. Но то, что я ищу (я сказал), более сродни: print 8 ** 3, который дает правильный ответ 512. Но почему?
Может кто-нибудь объяснить это мне? Почему 8 ^ 3 не соответствует 512, так как это правильный ответ? В каком случае 11 (результат 8 ^ 3)?
Я попытался найти SO, но я вижу только информацию о получении модуля при разделении.
Ответы
Ответ 1
Оператор ^
- побитовый оператор, который выполняет "побитовое исключение или.
Подробнее: http://wiki.python.org/moin/BitwiseOperators
Оператор питания **
, как 8**3
, который равен 512
.
Ссылка: http://docs.python.org/reference/expressions.html#the-power-operator
Ответ 2
Символы представляют разные операторы.
^
представляет побитовое исключение или (XOR
).
Каждый бит вывода совпадает с соответствующим битом в x, если этот бит в y равен 0, а это дополнение к биту в x, если этот бит в y равен 1.
**
представляет оператор мощности. Это так, как язык структурирован.
Ответ 3
Это просто, что ^
не означает "экспонента" в Python. Это означает "побитовое XOR". См. документацию.