Как перевести число в двоичную систему
Двоичная запись — это число из нулей и единиц. В Python её можно получить одной командой или собрать вручную, чтобы понять принцип.
Готовый способ: bin()
Функция bin() сразу возвращает двоичную запись как строку с префиксом 0b. Чтобы убрать префикс, отрезаем первые два символа срезом.
n = 10
print(bin(n)) # 0b1010
print(bin(n)[2:]) # 1010
Как это устроено: остатки
Вручную двоичную запись получают делением на 2 с запоминанием остатков. Остатки, прочитанные снизу вверх, и дают двоичное число — поэтому мы дописываем их в начало строки.
n = 10
res = ''
while n > 0:
res = str(n % 2) + res
n //= 2
print(res) # 1010
Обратно из двоичной
Перевести двоичную строку обратно в обычное число помогает int с указанием основания 2. Это удобно для проверки своего результата.
print(int('1010', 2)) # 10
Частые вопросы
Что такое // и %? // — деление без остатка, % — остаток от деления; вместе они и дают цифры двоичной записи.
А в шестнадцатеричную? Есть готовая hex(), принцип тот же, только делят на 16.
Начать игру бесплатно