ДВОИЧНАЯ СИСТЕМА: ВСЕГО ДВЕ ЦИФРЫ, А ПРОБЛЕМ ДОФИГА 😅Основание 2, цифры только 0 и 1. Именно в ней чаще всего и устроен №5🔘
Двоичная → десятичнаяРаскладываем по степеням двойки:
1101₂ = 1·2³ + 1·2² + 0·2¹ + 1·2⁰ = 8 + 4 + 0 + 1 = 13
🔘
Десятичная → двоичнаяДелим на 2 с остатком, остатки читаем снизу вверх:
13 : 2 = 6, остаток 1
6 : 2 = 3, остаток 0
3 : 2 = 1, остаток 1
1 : 2 = 0, остаток 1
Читаем снизу вверх:
1101📌
Степени двойки, которые надо знать наизусть: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024
⚡️
Три свойства, которые экономят время:🔘чётное число заканчивается на 0, нечётное на 1
🔘дописать 0 справа значит умножить на 2 (1101₂ = 13, 11010₂ = 26)
🔘убрать последнюю цифру значит целочисленно разделить на 2 (110₂ = 6 = 13 // 2)
🔘дописать цифру справа значит ×2 и плюс эта цифра (101₂ = 5, 1011₂ = 5·2 + 1 = 11)
В №5 часто к записи «дописывают» цифры слева и справа («слева 1, справа 00», «по две единицы по краям») или считают «бит чётности»: сумму цифр записи делят на 2 и дописывают остаток. В Python это одна строка:
b = bin(13)[2:] # '1101'
b = b + str(b.count('1') % 2) # 3 единицы, 3 % 2 = 1 → '11011'
print(int(b, 2)) # 27
Если условие длинное и пугает, берёшь маленькое N, строишь R руками и сверяешь с примером из условия
✅
В Python переводить можно кодом:print(bin(13)) # 0b1101
print(int('1101', 2)) # 13
⚠️
Ловушка: остатки читают сверху вниз и получают перевёрнутое число (1011 вместо 1101). Читай
только снизу вверх
В 16:00 квизы, проверим 👀