Урок № 2

Тема уроку: Двійкове кодування. Одиниці вимірювання довжини двійкового коду. Кодування символів.

Матеріал для вивчення

Повідомлення можуть кодуватися різними способами. Вибір способу кодування залежить від виду повідомлення, яке необхідно кодувати: текст, число, графічне зображення або звук чи відео. Для опрацювання за допомогою комп’ютера повідомлення подаються (кодуються) у вигляді послідовностей електричних або магнітних сигналів двох видів. Кожний сигнал одного виду умовно позначають цифрою 0, а другого виду — 1.

Кодування повідомлень із використанням двох сигналів називається двійковим. Набір даних, отриманий у результаті двійкового кодування, називається двійковим кодом.

Цифра 0 або 1 у двійковому коді повідомлення має назву біт (англ. binary digit — двійкова цифра).

Із двох бітів можна скласти 4 (4 = 22) коди (00, 01, 10 і 11). Ними можна закодувати, наприклад, чотири чверті координатної площини: 00 — ліва верхня; 01 — права верхня; 10 — ліва нижня; 11 — права нижня.

Із трьох бітів можна скласти вже 8 (8 = 23) кодів (000, 001, 010, 011, 100, 101, 110, 111). Ними можна закодувати, наприклад, сторони горизонту. Із чотирьох бітів можна скласти 24 = 16 кодів, з п’яти — 25 = 32 коди і т. д. З восьми бітів можна скласти 28 = 256 кодів, і цієї кіль кості кодів достатньо, щоб закодувати всі літери англійського та українського (або якогось іншого) алфавітів, арабські цифри, розділові знаки, знаки арифметичних дій, а також деякі інші символи.

 

Послідовність із восьми бітів має назву байт.

1 байт = 8 біт

 

Традиційно для кодування одного символу використовується двійковий код, довжина якого дорівнює 1 байту, тобто 1 символ = 1 байт = 8 біт. Тоді можна обчислити, яку кількість різних символів можна закодувати: N = 28 = 256.

 

Конвертування двійкових чисел у десяткові.

Припустимо, дано двійкове число 1100012. Для конвертування в десяткове запишіть його як суму за розрядами таким чином:

1 * 25 + 1 * 24 + 0 * 23 + 0 * 22 + 0 * 21 + 1 * 20 = 49

 

Конвертування десяткових чисел у двійкові.

Припустимо, нам потрібно перетворити число 21 на двійкове. Ви можете скористатися такою процедурою:

 

21 /2 = 10 з залишком 1

10 /2 = 5 без залишку 0

5 /2 = 2 з залишком 1

2 /2 = 1 без залишку 0

1 /2 = 0 з залишком 1

 

Отже, ми ділимо кожне частне на 2 і записуємо залишок на кінець двійкового запису. Продовжуємо поділ до тих пір, поки в часному не буде 0. Результат записуємо справа наліво. Тобто нижня цифра (1) буде самою лівою і т. д. В результаті отримуємо число 21 в двійковій запису: 10101.

 

Довжина двійкового коду текстового повідомлення — це кількість бітів чи байтів у двійковому коді цього повідомлення.
При такому кодуванні один рядок тексту підручника має середню довжину двійкового коду приблизно 50 байт, одна сторінка — приблизно 2000 байт, а весь підручник (240 с.) — приблизно 480 000 байт.

Для позначення довжин двійкового коду повідомлень використовують і більші одиниці вимірювання, назви яких, згідно з Міжнародною системою одиниць (СІ), утворюються за допомогою префіксів кіло-, мега-, гіга-, тера- і т. д. Історично склалося так, що ці префікси (кіло-, мега-, гіга-, тера-) в інформатиці трактувалися по-іншому, не так, як, наприклад, у математиці, і мають у своїй основі степені числа 2, а саме:

1 Кб (кілобайт) = 210 байт = 1024 байт;

1 Мб (мегабайт) = 210 Кб = 220 байт = 1 048 576 байт;

1 Гб (гігабайт) = 210 Мб = 220 Кб = 230 байт;

1 Тб (терабайт) = 210 Гб = 220 Мб = 230 Кб = 240 байт.

Щоб подати біти в байтах, треба число бітів поділити на 8. Наприклад: 32 біти — це 4 байти. Щоб подати байти в кілобайтах, треба число байтів поділити на 1024. Наприклад: у 2048 байтах буде 2 Кб.

І так далі за наступними одиницями вимірювання.

Щоб подати байти в бітах, треба число байтів помножити на 8. Наприклад: у 3 байтах буде 24 біти.

Щоб подати кілобайти в байтах, треба число кілобайтів помножити на 1024. Наприклад: у 3 кілобайтах буде 3072 байти і відповідно 24 576 біт.

 

Вправа. Довжина двійкового коду тексту.

Завдання. Книжка містить 150 сторінок, на кожній сторінці — 40 рядків, у кож- ному рядку 60 символів (включаючи пропуски). Знайдіть довжину двійкового коду тексту книжки, якщо для кодування кожного символу використано 8 біт. розв’язанн я. Обчислимо кількість символів у книжці:

60 · 40 · 150 = 360 000 символів.

Оскільки довжина двійкового коду 1 символу — 8 біт =1 байт, довжина двійкового коду книжки дорівнює 360 000 байт.

Подамо байти в більших одиницях:

360 000 байт : 1024 = 351,56 Кб.

351,56 Кб : 1024 = 0,34 Мб.

 

Натиснення клавіші на клавіатурі приводить до того, що сигнал надсилається в комп’ютер у вигляді двійко- вого числа, яке зберігається в кодовій таблиці. Кодова таблиця становлює відповідність між символами та їх двійковими кодами для подання текстових даних у комп’ютері. Для того щоб весь світ однаково кодував текстові дані, потрібні єдині таблиці кодування.

У різних таблицях кодування одні й ті самі символи можуть мати різні коди. Останнім часом серед таблиць кодування, які містять українські літери, найпоширенішими є КОІ8-U і Windows-1251. Довжина коду кожного символу в них — 1 байт.

Широкого поширення набув міжнародний стандарт Unicode — Unicode Consortium (UTF 32, UTF 16 і UTF 8), який відводить на кожний символ не один байт, а два, тобто 16 біт, тому за його допомогою можна закодувати не 256, а 216 = 65 536 різних символів.

 

Як визначити довжину двійкового коду повідомлення?

Щоб обчислити довжину двійкового коду повідомлення, треба кількість символів у тексті помножити на кількість бітів, потрібних для кодування одного символу.

Наприклад: двійкове число 01010111 займає в пам’яті 8 біт. Якщо його записати у вигляді тексту в кодуванні ASCII, довжина коду буде 8 байт, або 64 біти, оскільки кожний символ кодується за допомогою 8 біт. Довжина двійкового коду цього самого тексту в кодуванні Unicode становитиме 16 байт, або 128 біт.

Не слід забувати, що пропуски треба вважати за символи, оскільки вони також набираються на клавіатурі, мають код і зберігаються в пам’яті.

 

Вправа. Перекодування.

Завдання. Автоматичний пристрій здійснив перекодування текстового повідомлення довжиною 48 символів, спочатку записаного в 7-бітному коді ASCII, у 16-бітне кодування Unicode. Визначте, на скільки при цьому збільшилася довжина двійкового коду повідомлення.

Розв’язання. Зміна кодування із 7 біт на 16 біт збільшує довжину коду кожного символу на 16 – 7 = 9 біт. Оскільки повідомлення містить 48 символів, то його обсяг збільшився на 48 · 9 = 432 біти.

Подамо біти в байтах: 432 : 8 = 54 байти.

Домашнє завдання

“Інформатика” підручник для 8 класу загальноосвітніх закладів (Морзе, Барна, Вембер)

  • Вправа 5, стор .12
  • Стор. 8 – 13