Ви, мабуть, уже зустрічали ці слова. Біти та бити всюди. Ви бачите їх, коли ви перевіряєте обсяг оперативної пам’яті (RAM). Ви бачите їх, коли дивіться розмір файлів. Рекламодавці також використовують їх. Вони повідомляють, що комп’ютер має 32-бітовий процесор. Вони кажуть, що має 64 мегабайти пам’яті. Вони можуть згадати 2,1 гігабайти пам’яті.
Розуміння цих термінів потрібне не лише технічним фахівцям. Це допомагає вам розібратися в тому, що насправді робить ваш комп’ютер. Цей посібник пояснює основи двійкових чисел. Воно показує, чому ми використовуємо біти і як утворюють байти.
Десяткові числа та розрядність
Щоб зрозуміти біти, почніть із чисел, які вам уже знайомі. Цифри є будівельними блоками десяткової математики. Одна цифра набирає значення від 0 до 9. Ми групуємо ці цифри, щоб отримати великі числа.
Візьмемо 6357 як приклад. Має чотири цифри. 7 знаходиться у розряді одиниць. 5 – у розряді десятків. 3 – у розряді сотень. 6 – у розряді тисяч. Ви можете записати це математично.
(61000) + (3 100) + (510) + (7 1) = 6357
Ви також можете використовувати ступінь числа 10. Символ ^ означає “зведення в ступінь”. Таким чином, 10 у квадраті – це 10^2. Формула набуває вигляду:
(610^3) + (3 10^2) + (510^1) + (7 10^0) = 6357
Кожна цифра є розрядом. Вона представляє наступний вищий ступінь числа 10. Ми починаємо зі ступеня 10, що дорівнює нулю.
Це здається нормальним. Ми використовуємо десяткову систему щодня. Ймовірно, це сталося тому, що люди мають десять пальців. Якби ми мали вісім пальців, ми могли б використовувати восьмеричну систему. Ви можете побудувати системи числення з будь-якою основою. Просто так комп’ютери використовують іншу. Вони використовують двійкову систему числення. Вона також називається двійковою (основа 2).
Система з основою 2 та 8-бітний байт
Комп’ютери використовують основу 2. Його легко реалізувати за допомогою сучасних технологій. Комп’ютер із основою 10 був би надзвичайно дорогим. Комп’ютер з основою 2 відносно дешевий. Ось чому двійкова система править у цифровому світі.
Двійкова система використовує двійкові цифри. Вони називаються “бітами”. Слово походить від “Binary digIT” (двійкова цифра). На відміну від десяткових цифр, біти мають лише два значення. Вони можуть бути 0 або 1. Двійкове число має такий вигляд: 1011.
Як його прочитати? Ви використовуєте ту ж логіку, що й у десятковій математиці. Просто замініть основу 10 на основу 2.
(1 * 2 ^ 3) + (0 * 2 ^ 2) + (1 * 2 ^ 1) + (1 * 2 ^ 0) = 8 + 0 + 2 + 1 = 11
Двійкове число 1011 дорівнює 11 у десятковій системі. Кожен біт набуває значення, яке збільшується за ступенями двійки. Рахунок у двійковій системі простий. Ось як виглядають перші кілька чисел.
0 = 0
1 = 1
2 = 10
3 = 11
4 = 100
5 = 101
6 = 110
7 = 111
8 = 1000
9 = 1001
10 = 1010
11 = 1011
12 = 1100
13 = 1101
14 = 1110
15 = 1111
16 = 10000
17 = 10001
18 = 10010
19 = 10011
20 = 10100
Зверніть увагу на перенесення розряду. При числі 2 у двійковій системі перенесення відбувається вперше. Якщо біт дорівнює 1 і додаєте 1, він стає 0. Наступний біт стає 1. Стрибок від 15 до 16 показує це наочно. Чотири біти переповнюються, переходячи від 1111 до 10000.
Біти рідко працюють поодинці. Комп’ютери групують їх у набори. Ці набори називаються байтами. Стандартний байт складається із 8 біт.
Чому 8 бітів? Це все одно, що запитати, чому в дюжині 12 яєць. Не було суворої математичної причини. Люди згодом зупинилися на 8 бітах. Це виявилося досить зручним.
За допомогою 8 біт можна уявити 256 різних значень. Вони варіюються від 0 до 255.
0 = 00000000
1 = 00000001
2 = 00000010
…
254 = 11111110
255 = 11111111
Ця система масштабується дуже швидко. CD-диски використовують 2 байти на вибірку. Це 16 біт. Діапазон змінюється від 0 до 65535.
0 = 0000000000000000
1 = 0000000000000001
2 = 0000000000000010
…
65534 = 11111111111111110
65535 = 11111111111111111
Байти використовуються безліччю
Як насправді зберігається ваш текст в ASCII
Ваш комп’ютер не зберігає літери. Він зберігає числа.
Коли ви друкуєте документ, програма перетворює натискання клавіш на певний код. Стандартом цього перетворення є набір символів ASCII. У цій системі кожне бінарне значення від 0 до 127 відповідає одному символу. Хоча сучасні системи часто розширюють цей набір до 256 символів для підтримки букв із діакритичними знаками та спеціальних символів, базові 128 залишаються фундаментом.
Розглянемо простий текстовий файл, створений у Блокноті Windows. Якщо ви наберете фразу “Four score and seven years ago”, програма виділить рівно один байт пам’яті для кожного символу. Це включає пробіли між словами.
Спробуйте самі. Створіть файл із ім’ям getty.txt, який містить цю пропозицію. Збережіть його. Перевірте розмір файлу. Ви побачите, що він складає рівно 30 байт. Додайте слово. Розмір одразу збільшується. Це лінійна залежність. Кожен символ займає один байт.
Якщо ви відкриєте цей файл у шістнадцятковому редакторі, ви не побачите “Four score”. Ви побачите потік десяткових чисел:
70 111 117 114 32 97 110 100 32 115 101 118 101 110
Подивіться ці значення в таблиці ASCII. Ви виявите пряму взаємно-однозначну відповідність. Число 32 являє собою прогалину. Число 70 є «F». Якщо бути технічно точним, ці десяткові числа перетворюються на двійкові. 32 стає 00100000. Саме це обробляє апаратне забезпечення.
Перші 32 коди (0–31) — це символи, що не друкуються. Вони керують такими речами, як повернення каретки та переклад рядка. Символ пропуску слідує за ними під кодом 32. Потім йдуть розділові знаки, цифри, великі літери і малі літери.
Розуміння приставок байтів та двійкової математики
Коли ви маєте справу з більш ніж декількома байтами, вам потрібна шкала масштабування. Ми використовуємо приставки, такі як кіло, мега та гіга.
Це не метричні приставки. Це ступеня двійки.
- Кіло (K): 2^10 = 1 024 байти
- Мега (M): 2^20 = 1048576 байт
- Гіга (G): 2^30 = 1073741824 байти
- Тера (T): 2^40 = 1099511627776 байт
Вищі порядки, такі як пета, екса, зетта та йотта, продовжують цю закономірність. Терабайтна база даних поширена у корпоративному середовищі. База даних петабайтного масштабу, мабуть, існує у державній інфраструктурі.
Коли хтось каже, що жорсткий диск має об’єм 2 гігабайти, він має на увазі рівно 2147483648 байт. Грубо кажучи. Але досить близько до маркетингу. Щоб заповнити 2 ГБ, вам знадобиться всього три стандартні компакт-диски по 650 МБ.
Двійкова математика дзеркально відбиває десяткову математику. Правила ідентичні. Ви складаєте праворуч наліво. Ви переносите розряд, коли перевищуєте межу. Єдина відмінність – у самому межі. У десятковій системі межа – це 9. У двійковій системі межа – це 1.
Візьмемо завдання на додавання у десятковій системі: 452 + 751.
Починаємо праворуч. 2+1=3.
Наступний розряд. 5 + 5 = 10. Записуємо 0, переносимо 1.
Наступний. 4 + 7 + 1 (перенесення) = 12. Записуємо 2, переносимо 1.
Підсумок. 0 + 0 + 1 (перенесення) = 1.
Результат: 1203.
Двійкове додавання слідує тій же логіці.
010
+ 111
1001
Правий розряд: 0+1=1.
Другий розряд: 1+1=10. Записуємо 0, переносимо 1.
Третій розряд: 0 + 1 + 1 (перенесення) = 10. Записуємо 0, переносимо 1.
Підсумковий розряд: 0 + 0 + 1 (перенесення) = 1.
Результат: 1001.
Переведемо назад до десяткової системи. 2 + 7 = 9. Математика вірна.
Біти – це двійкові цифри. Вони можуть набувати значення 0 або 1. Байти – це групи з восьми бітів. Двійкова математика — це десяткова математика з жорсткішим обмеженням.
Це просто. Або принаймні так підносять це в підручниках. Реальність того, як ці дані переміщуються через кремній, як вони деградують і як ми їх інтерпретуємо набагато складніше. Але фундамент залишається двійковим. Нуль чи одиниця. Нічого іншого.



















