Двоичное число, преобразованное в целое число - PullRequest
0 голосов
/ 29 апреля 2020

Я начал изучать Python недавно. У меня проблема с пониманием этого:

print(int('0b101', 2))

Я понимаю, что это двоичное число, которое будет преобразовано в целое число. Но почему база должна быть 2? а может кто-нибудь объяснить, что является основой? Спасибо

Ответы [ 2 ]

2 голосов
/ 29 апреля 2020

Если база не указана, int по умолчанию равен основанию 10, вместо того, чтобы угадывать, какой базой является литерал. Например, 0b101 также является допустимым шестнадцатеричным литералом:

>>> int('0b101', 16)
45313
>>> int('0xb101', 16)
45313

Если вы не хотите, чтобы он обрабатывался как base-10, вы должны четко указать, как он должен лечиться.

>>> int('0b101', 2)
5
0 голосов
/ 29 апреля 2020

В нем указано, в какой системе счисления находится ваша строка. В двоичной системе у вас есть только две цифры, то есть 1 и 0. В десятичной системе у вас есть 10, то есть 0-9.

См. Несколько примеров здесь в Программировании

Надеюсь, это что-то прояснит!

...