Лекція 2. Чому комп’ютер любить 0 і 1
Лекція 2. Чому комп’ютер любить 0 і 1
Section titled “Лекція 2. Чому комп’ютер любить 0 і 1”Рівень 1: Мисливець за даними
Марко, сьогодні ми не просто вивчимо новий термін — ми відкриємо ще один шар того, як насправді працює комп’ютер.
Що ми сьогодні розкриємо
Section titled “Що ми сьогодні розкриємо”- зрозуміти, чому електроніці зручно мати два стани
- навчитися рахувати маленькі числа у двійковій системі
- переводити числа між десятковим і двійковим записом
Зв’язок з попередніми лекціями
Section titled “Зв’язок з попередніми лекціями”У цій лекції ми використаємо знання про поняття «дані» з лекції 1, щоб побачити, як комп’ютер записує інформацію за допомогою 0 та 1.
Два надійні стани
Section titled “Два надійні стани”Уяви вимикач лампи. Він може бути вимкнений або увімкнений. Для електроніки дуже зручно розрізняти два стани сигналу. Ми домовляємося позначати їх 0 і 1.
Важливо: всередині сучасного процесора немає маленьких намальованих нулів та одиниць. Є електричні стани, а 0 і 1 — наша зручна мова для їх опису.
Двійкова система — це інший спосіб записувати числа
Section titled “Двійкова система — це інший спосіб записувати числа”У звичайному житті ми використовуємо десять цифр: 0–9. Це десяткова система. Після 9 закінчуються цифри, тому ми пишемо 10.
У двійковій системі є лише 0 і 1. Після 1 цифри вже закінчилися, тому наступне число записується 10.
десяткова двійкова0 01 12 103 114 1005 1016 1107 1118 100010₂ означає не «десять», а два, якщо ми знаємо, що це двійковий запис.
Розряди мають вагу
Section titled “Розряди мають вагу”У числі 347 справа наліво стоять одиниці, десятки, сотні. У двійковому числі ваги розрядів такі:
... 16 8 4 2 1Наприклад:
1011₂ = 1×8 + 0×4 + 1×2 + 1×1 = 11Це не магія — просто інша система рахунку. Поглянь, як двійкове число розкладається на ваги розрядів:
graph TD
A["Двійкове число: 1011₂"] --> B["Розряд 1
(вага 8)"]
A --> C["Розряд 0
(вага 4)"]
A --> D["Розряд 1
(вага 2)"]
A --> E["Розряд 1
(вага 1)"]
B -->|"1 × 8 = 8"| S
C -->|"0 × 4 = 0"| S
D -->|"1 × 2 = 2"| S
E -->|"1 × 1 = 1"| S
S["Сума: 8 + 0 + 2 + 1 = 11₁₀"]
style A fill:#fff3e0
style S fill:#e8f5e9
Приклади
Section titled “Приклади”Приклад 1
Section titled “Приклад 1”101₂ — це 1×4 + 0×2 + 1×1 = 5.
Приклад 2
Section titled “Приклад 2”Щоб записати 6, шукаємо 4 + 2, отже ставимо одиниці в розряди 4 і 2: 110₂.
Приклад 3
Section titled “Приклад 3”Python уміє показувати двійковий запис: bin(13) поверне рядок '0b1101'. Префікс 0b повідомляє: далі йде binary — двійкове число.
Python-лабораторія: двійковий перекладач
Section titled “Python-лабораторія: двійковий перекладач”number = int(input("Введи число від 0 до 31: "))print("Десяткове:", number)print("Двійкове:", bin(number))
binary_text = input("Введи двійкове число, наприклад 1010: ")print("Назад у десяткову:", int(binary_text, 2))Другий аргумент 2 у int(binary_text, 2) каже Python: «цей текст треба прочитати як число з основою 2».
Місія для Марка
Section titled “Місія для Марка”Виконай місію по черзі. Якщо щось не виходить — спочатку перечитай приклад вище й спробуй знайти, на якому кроці результат відрізняється.
- на папері продовж таблицю двійкових чисел від 0 до 15
- без Python переведи
1010₂,111₂і10000₂у десяткові числа - запусти двійковий перекладач і перевір свої відповіді
- знайди двійкові записи чисел 9, 12, 17 і 31
- поясни, чому після
111₂іде1000₂
Перевір себе
Section titled “Перевір себе”- Скільки різних цифр є у двійковій системі?
- Що означає
0bу Python? - Які ваги мають чотири праві двійкові розряди?
- Чому
10₂не дорівнює десятковому 10? - Скільки в десятковій системі дорівнює
1101₂?
Терміни однією фразою
Section titled “Терміни однією фразою”- Десяткова система — запис чисел десятьма цифрами
0–9(як ми звикли в житті). - Двійкова система — запис чисел лише двома цифрами
0і1. - Розряд — позиція в числі, яка має свою «вагу» (одиниці, двійки, четвірки…).
- Основа системи — скільки різних цифр використовуємо (для двійкової — 2).
0bу Python — позначка, що далі написане двійкове число (binary).
Чек-лист перед наступною лекцією
Section titled “Чек-лист перед наступною лекцією”- Чи можеш ти пояснити, що таке біт і байт?
- Чи знаєш ти, скільки значень може мати один біт?
- Чи розумієш ти, як числа записуються у двійковій системі?
Що потрібно винести з лекції
Section titled “Що потрібно винести з лекції”- 0 і 1 — зручні позначення двох фізичних станів
- двійковий запис — звичайна позиційна система числення з основою 2
- кожен розряд справа наліво має вагу 1, 2, 4, 8, 16…
Хакерський принцип: не запам’ятовуй магічні слова. Намагайся пояснити своїми словами, що відбулося і чому.