Принцип двійкового кодування
Дані у комп’ютері подаються електричними, світловими або магнітними сигналами, що набувають тільки двох станів: вимкнено (немає струму, розмагнічено) або увімкнено (є струм, намагнічено). Тому будь-які дані для опрацювання комп’ютером кодують за допомогою двох знаків — 0 і 1. Такий спосіб кодування називають двійковим. Двійкове кодування легко реалізувати в електронних пристроях. Сигнал одного виду умовно позначається цифрою 0, а іншого виду — 1.
Цифра 0 або 1 у двійковому коді повідомлення називається біт (англ. binary digit — двійкова цифра).
Слово біт у записі поряд із числом позначається маленькою літерою б. Наприклад, 20 біт буде записано 20 б.
Кодування повідомлень з використанням сигналів лише двох видів називають двійковим кодуванням. Повідомлення, отримане в результаті двійкового кодування, називають двійковим кодом.
Якщо для кодування повідомлення використовується лише один двійковий сигнал (біт) 0 або 1, то можна закодувати, наприклад:
● висновок про правильність твердження: хибне — 0 або істинне — 1;
● стать людини: жіноча — 0 або чоловіча — 1;
● висновок про правильність твердження: хибне — 0 або істинне — 1;
● стать людини: жіноча — 0 або чоловіча — 1;
● стан вимикача: вимкнено — 0 або увімкнено — 1 тощо.
З двох бітів можна скласти 4 (2²) різних коди (00, 01, 10 і 11).
З двох бітів можна скласти 4 (2²) різних коди (00, 01, 10 і 11).
Ними можна закодувати, наприклад, чотири сторони горизонту:
● 00 — північ;
● 01 — схід;
● 10 — південь;
● 11 — захід.
● 00 — північ;
● 01 — схід;
● 10 — південь;
● 11 — захід.
З трьох бітів можна скласти вже 8 (2³) різних кодів (000, 001, 010, 011, 100, 101, 110, 111). Ними можна закодувати, наприклад, номери рядків або стовпців шахівниці. Також трьох бітів достатньо, щоб закодувати 8 кольорів. Із чотирьох бітів можна скласти \(2^{4}\) \(=\) \(16\) кодів, з п’яти — \(2^{5}\) \(=\) \(32\) коди і т. д. З восьми бітів можна скласти \(2^{8}\) \(=\) \(256\) кодів, і цієї кількості кодів достатньо, щоб закодувати всі літери англійського та українського або якогось іншого) алфавіту, арабські цифри, розділові знаки, знаки арифметичних дій, а також деякі інші символи. Саме така кількість кодів міститься, наприклад, у таблицях кодів символів КОІ-8U та Windows-1251.
Послідовність з восьми бітів називають байтом і позначають Б.
1 Б = 8 б
8-бітовий код придатний для кодування до \(N\) \(=\) \(2^{8}\) \(=\) \(256\) різних символів, а 16-бітовий код — до \(N\) \(=\) \(2^{16}\) \(=\) \(65536\) символів.
Для кодування (декодування) тексту всі символи зводять у кодову таблицю, де поряд із двійковим кодом, а іноді й замість нього, записують десятковий код.
Таблиця ASCII містить 7-бітові коди символів, які відповідають десятковим кодам 0-127. Для кодування літер інших алфавітів (зокрема кириличних) таблицю ASCII доповнюють до 256 символів. Для цього 7-бітові коди ASCII доповнюють зліва 0, а коди для нових символів утворюють додаванням зліва 1. Зокрема, для літер українського алфавіту використовують таблицю кодів KOI8-U.
Розгляньмо фрагмент таблиці кодів KOI8-U:
192 | 11000000 | ю |
193 | 11000001 | а |
194 | 11000010 | б |
195 | 11000011 | ц |
196 | 11000100 | д |
Наприклад, мала літера а українського алфавіту в таблиці кодів KOI8-U має десятковий код 193, що відповідає двійковому коду 11000001.
У таблиці кодів символів Windows-1251 кожний символ має код — ціле число від 0 до 255, яке може бути закодоване одним байтом.
Обсяг текстових даних
Обсяг даних, або довжина двійкового коду повідомлення, — це кількість бітів у двійковому коді цього повідомлення.
Для вимірювання довжини двійкового коду використовують похідні одиниці — байти та інші.
Знаючи довжину двійкового коду, можна розрахувати, скільки повідомлень різних типів можна розмістити на носії даних, який обсяг даних потрібно передати мережею, скільки часу знадобиться для опрацювання даних тощо.
Якщо текстове повідомлення складається з кількох символів і кожний символ має двійковий код завдовжки 1 байт, то можна обчислити довжину двійкового коду всього повідомлення. Наприклад, повідомлення Інформатика — цікавий предмет! містить 30 символів (включаючи символи пропусків, тире, знак оклику). Якщо кожний символ кодувати двійковим кодом завдовжки 1 байт, то довжина двійкового коду такого повідомлення дорівнюватиме 30 байтам.
Щоб виконати двійкове кодування текстового повідомлення, потрібно код кожного символа цього повідомлення, отриманий з таблиці Windows-1251, замінити його двійковим кодом. Саме так кодуються текстові документи, створені в текстовому редакторі Блокнот, якщо під час їх зберігання на носії даних використовувати кодування ANSI (англ. American National Standards Institute — Американський національний інститут стандартів).
Довжина двійкового коду повідомлення, що міститься в такому документі, буде дорівнювати в байтах кількості символів у текстовому документі.
Кожне натискання клавіші Enter кодується двома спеціальними символами — символом переходу на новий рядок і символом переходу на початок рядка.
Під час кодування текстів з використанням кодової таблиці Unicode довжина двійкового коду різних символів є різною — від 1 Б до 6 Б.
Приклад:
Текст Марійка грає в шахи. складається з 20 символів із урахуванням пропусків і розділових знаків. Тому за 8-бітового кодування символів цей текст має обсяг 20 байтів.
Приклад:
Нехай сторінка книжки містить 56 рядків по 64 символи в кожному рядку. Обчислимо обсяг даних (довжину двійкового коду) на сторінці за 8-бітового кодування. Маємо: 56·64=3584 байти=3,5 КіБ. Щоб обчислити приблизний обсяг текстових даних у книжці, потрібно обсяг даних на сторінці помножити на кількість сторінок. Розрахуємо обсяг даних у книжці з 256 подібних сторінок: 3584·256=917504 Б=896 КіБ=0,875 МіБ.
Зверни увагу!
Не слід ототожнювати довжину двійкового коду текстового повідомлення з обсягом інформації, яку воно містить.
Приклад:
Двійковий код літери Р має довжину 1 байт. Сама ця літера, намальована на дорожньому знаку, несе інформацію для водія: поряд зі знаком є облаштоване місце для стоянки.
Джерела:
Інформатика : підруч. для 8 кл. закл. загал. серед. освіти / [О. О. Бондаренко, В. В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во «Ранок», 2025
Інформатика : підруч. для 8-го кл. закл. заг. серед. освіти / Й. Ривкінд та ін. — Київ : Генеза, 2025