2016-06-23 6 views
0

При использовании побитового и оператора (&) в моем коде я наблюдал странное поведение оболочки python. В то время как 10 and 10 дает 10, но 010 & 010 дает 8. Эта серия следовать для всех чисел с 0 перед, как 011, 012 и т.д.Python странный побитовый и (&) вывод

Кроме того, до 07 & 07 он работает, но 08 и 09 и выдает синтаксическую ошибку.

В python 3 мы не можем использовать 0 перед номером в целом. Невозможно понять, это ожидаемое поведение или один из python «wats».

+0

спасибо! его дубликат. –

ответ

2

Номера, введенные с начальным нулем, интерпретируются как восьмеричные (основание 8).

007 == 7 
010 == 8 
011 == 9 
Смежные вопросы