Основи представлення даних: біти, байти та системи числення

У комп’ютерних науках будь-які типи даних мають універсальне двійкове представлення. Це дозволяє уніфікувати вимірювання обсягу інформації.

Біти та байти

Біт — це мінімальна одиниця інформації. Він може перебувати лише у двох станах: вимкненому (0) або увімкненому (1).

Стандартно група з 8 бітів утворює байт. Вісім бітів дозволяють створити 256 різних комбінацій (від 00000000 до 11111111). У деяких архітектурах для надійності використовують додатковий дев’ятий біт — контроль парності, який стежить, щоб кількість одиниць у байті завжди була непарною (або парною, залежно від налаштувань).

Біти в байті нумерують справа наліво: від 0 до 7.

  • Кілобайт (КБ): 210=1024 байти.
  • Слово: У 16-бітній архітектурі група з двох байтів (16 бітів) називається «словом». Біти у слові нумеруються від 0 до 15 справа наліво.

Двійкова система числення

Оскільки комп’ютер розрізняє лише два стани (0 та 1), він працює у двійковій системі.

Перетворення з десяткової системи у двійкову: Щоб перетворити число (наприклад, 59), потрібно послідовно ділити його на 2 (основу системи), записуючи залишки.

ОпераціяЧасткаЗалишок
59 / 2291 (молодша цифра)
29 / 2141
14 / 270
7 / 231
3 / 211
1 / 201

Результат: Записуємо залишки знизу вгору — 1110112​. Для зворотного перетворення у десяткову систему кожну цифру множимо на 2 у відповідному ступені:

1⋅25+1⋅24+1⋅23+0⋅22+1⋅21+1⋅20=59


Шістнадцяткова система числення

Це зручний спосіб запису двійкових даних: кожний байт ділиться на дві частини (по 4 біти), кожна з яких записується одним символом від 0 до F.

Двійк.Дес.Шіст.Двійк.Дес.Шіст.
000000100088
000111100199
001022101010A
001133101111B
010044110012C
010155110113D
011066111014E
011177111115F

Приклад перетворення числа 42936 у шістнадцятковий формат: Ділимо число на 16, доки частка не дорівнюватиме 0.

ОпераціяЧасткаЗалишокШістнадцяткове значення
42936 / 16268388
2683 / 1616711B
167 / 161077
10 / 16010A

Результат: A7B816​ (або A7B8H). Перевірка: 10⋅163+7⋅162+11⋅161+8⋅160=42936.

Представлення від’ємних чисел: Доповняльний код

Для роботи з від’ємними числами один біт (зазвичай крайній лівий або «найстарший») виділяють під знак:

  • 0 — число додатне;
  • 1 — число від’ємне.

Проте просто змінити 0 на 1 у знаковому біті недостатньо, адже тоді виникають труднощі з додаванням (наприклад, з’являється «мінус нуль»). Тому використовують алгоритм доповняльного коду.

Як отримати доповняльний код (на прикладі числа -5)

Припустимо, ми працюємо з 8-бітним байтом.

  1. Прямий код: Записуємо додатне число 5 у двійковому форматі. 00000101
  2. Зворотний код (інверсія): Міняємо всі 0 на 1, а 1 на 0. 11111010
  3. Доповняльний код: Додаємо одиницю до отриманого результату. 11111010 + 1 = 11111011

Отже, число -5 у комп’ютері виглядає як 11111011.

Чому це зручно?

Головна перевага доповняльного коду в тому, що арифметичному логічному пристрою (АЛП) процесора не потрібно вміти віднімати. Він просто додає додатне число до від’ємного, а «зайвий» біт переносу ігнорується.

Приклад: 5+(−5)

  00000101 (це 5)
+ 11111011 (це -5)
----------
 100000000 

Оскільки ми працюємо в межах 8 бітів, дев’ятий біт (одиниця зліва) відкидається, і ми отримуємо 00000000 — чистий нуль.

Previous Article
Next Article