Одиниці зберігання даних: біти, байти, КБ, МБ, ГБ і ТБ
Майже кожен купував диск, рекламований як 1 ТБ, підключав його і бачив, як комп'ютер повідомляє щось ближче до 931 ГБ. Здається, ніби вас обдурили, але насправді ніхто вас не обманював. Розбіжність виникає через два різні, але однаково правильні способи підрахунку байтів, накладені на заплутані позначення, які індустрія десятиліттями використовувала непослідовно. Щойно ви зрозумієте біти, байти і дві родини префіксів, уся картина стає на свої місця.
Цей посібник проведе вас через будівельні блоки цифрового зберігання — від одного біта до терабайта, пояснить десяткову та двійкову системи префіксів і чому існують обидві, а також усуне щоденну плутанину навколо розмірів дисків та швидкостей інтернету. Мета — щоб вам більше ніколи не доводилося сумніватися щодо числа, пов'язаного зі зберіганням.
Біти та байти: основа
Найменша одиниця цифрової інформації — це біт, скорочення від «двійкова цифра» (binary digit). Біт містить одне значення: 0 або 1. Сам по собі біт не може представити багато, тому комп'ютери групують їх разом. Стандартне групування — це байт, який дорівнює рівно 8 бітам. За допомогою 8 бітів можна утворити 2 у степені 8, або 256, різних комбінацій, чого достатньо, щоб представити один символ тексту в старіших кодуваннях, один із 256 відтінків сірого або число від 0 до 255.
Дві умовності спричиняють напрочуд багато плутанини, тому варто закріпити їх у пам'яті заздалегідь:
- Велика літера B майже завжди означає байти, тоді як мала b означає біти. Отже, KB — це кілобайти, а Kb — кілобіти.
- 1 байт = 8 бітів. Щоб перетворити біти на байти, ділять на 8; щоб перетворити байти на біти, множать на 8.
- Розміри файлів вказуються в байтах (та їхніх кратних), тоді як швидкості передачі даних, такі як швидкість інтернету, зазвичай вказуються в бітах за секунду.
- Нібл — це половина байта, або 4 біти, і час від часу зустрічається під час обговорення окремих шістнадцяткових цифр.
Десяткові префікси: КБ, МБ, ГБ, ТБ
Звичні метричні префікси кіло, мега, гіга і тера походять із Міжнародної системи одиниць (SI), яку підтримує BIPM, де вони завжди означають степені числа 1000. У застосуванні до байтів ця десяткова умовність дає чисті круглі числа:
- 1 кілобайт (КБ) = 1000 байтів = 10 у 3-му степені байтів
- 1 мегабайт (МБ) = 1000 КБ = 1 000 000 байтів = 10 у 6-му степені байтів
- 1 гігабайт (ГБ) = 1000 МБ = 1 000 000 000 байтів = 10 у 9-му степені байтів
- 1 терабайт (ТБ) = 1000 ГБ = 1 000 000 000 000 байтів = 10 у 12-му степені байтів
Це система, яку використовують виробники накопичувачів, коли друкують ємність на коробці. Диск із позначкою 1 ТБ дійсно містить один трильйон байтів, точно як обіцяє визначення тера в SI. Це також система, яку використовують macOS та більшість мережевого і телекомунікаційного обладнання. Оскільки префікси збігаються з рештою метричного світу, десяткові одиниці легко масштабувати: кожен крок угору множить на 1000, так само як це відбувається з метрами і грамами.
Двійкові префікси: КіБ, МіБ, ГіБ, ТіБ
Однак комп'ютери адресують пам'ять у степенях двійки, тому одиниця в 1024 (тобто 2 у 10-му степені) для них набагато природніша, ніж 1000. Десятиліттями програмісти просто запозичували метричні префікси й тихцем перевизначали їх, тож кілобайт часто означав 1024 байти, а не 1000. Це перевантаження значень і є коренем плутанини. Щоб усунути її, Міжнародна електротехнічна комісія (IEC) запровадила окремі двійкові префікси в 1998 році:
- 1 кібібайт (КіБ) = 1024 байти = 2 у 10-му степені байтів
- 1 мебібайт (МіБ) = 1024 КіБ = 1 048 576 байтів = 2 у 20-му степені байтів
- 1 гібібайт (ГіБ) = 1024 МіБ = 1 073 741 824 байти = 2 у 30-му степені байтів
- 1 тебібайт (ТіБ) = 1024 ГіБ = 1 099 511 627 776 байтів = 2 у 40-му степені байтів
Закономірність така сама, як і в десятковій системі, але кожен крок множить на 1024 замість 1000. Назви навмисно незграбні, щоб їх не можна було сплутати з метричними версіями: кібі поєднує кіло з binary (двійковий), мебі поєднує мега з binary і так далі. Строго кажучи, коли ви маєте на увазі 1024 байти, слід писати КіБ, а коли маєте на увазі 1000 байтів — КБ. На практиці багато операційних систем і застосунків досі показують ГБ, хоча насправді обчислюють у гібібайтах, і саме тут народжується знаменита розбіжність у розмірі диска.
Чому ваш диск на 1 ТБ показує близько 931 ГБ
Ось і розгадка таємниці. Виробник рахує в десятковій системі, тож диск на 1 ТБ містить 1 000 000 000 000 байтів. Windows, своєю чергою, повідомляє ємність у двійковій системі, але позначає її схожим на десятковий ГБ. Щоб отримати своє число, вона ділить справжню кількість байтів на 1 073 741 824 (кількість байтів в одному гібібайті):
- Почніть зі справжньої ємності: 1 000 000 000 000 байтів.
- Поділіть на 1 073 741 824, щоб виразити її в гібібайтах: 1 000 000 000 000 / 1 073 741 824 = близько 931,32.
- Windows відображає цей результат як 931 ГБ, хоча насправді це 931 ГіБ.
Жодного сховища не зникає. Диск містить рівно той трильйон байтів, що й обіцяно; операційна система просто вимірює ці байти лінійкою на основі 1024, а друкує позначку на основі 1000. Той самий ефект пояснює, чому телефон на 256 ГБ показує приблизно 238 ГіБ загального простору ще до того, як операційна система забере свою частку, і чому карта пам'яті на 64 ГБ форматується приблизно до 59,6 ГіБ.
Пропускна здатність: біти, а не байти
Швидкості інтернету та мережі додають ще один нюанс: вони вимірюються в бітах за секунду, а не в байтах. Рекламоване з'єднання 100 Мбіт/с передає 100 мегабітів щосекунди, але файли, які ви завантажуєте, вимірюються в мегабайтах. Щоб передбачити реальну швидкість завантаження, поділіть бітову швидкість на 8:
- 100 Мбіт/с / 8 = 12,5 МБ/с, тож файл розміром 1,25 ГБ завантажується приблизно за 100 секунд на повній швидкості.
- 1 Гбіт/с / 8 = 125 МБ/с теоретично, до врахування реальних накладних витрат.
- З'єднання 25 Мбіт/с забезпечує близько 3,125 МБ/с.
- Накладні витрати від протоколів, Wi-Fi та обмежень сервера означають, що зазвичай ви побачите трохи менше за теоретичний максимум.
Ось чому менеджер завантажень, який показує 12 МБ/с на лінії 100 Мбіт/с, працює саме так, як очікувалося, а не на одній восьмій від швидкості, за яку ви заплатили. Слідкуйте за тим, чи використовує число велику літеру B чи малу b, бо ця одна літера змінює значення у вісім разів.
Поширені помилки та практичні поради
Більшість помилок зі сховищем і швидкістю походять від кількох звичок. Стежте за ними, і ваші числа залишатимуться надійними:
- Плутанина між бітами та байтами. Мбіт/с — це мегабіти за секунду; МБ/с — це мегабайти за секунду. Поділіть біти на 8, щоб отримати байти.
- Припущення, що КБ завжди означає 1024 байти. Це залежить від контексту: позначки сховища та macOS використовують 1000, тоді як розміри файлів у Windows та оперативна пам'ять використовують 1024.
- Думка, що диск втратив ємність. Усі байти на місці; змінилася лише одиниця, яка використовується для їх відображення.
- Змішування родин префіксів в одному обчисленні. Виберіть десяткову (КБ, МБ, ГБ) або двійкову (КіБ, МіБ, ГіБ) і дотримуйтесь її послідовно протягом усього обчислення.
- Забування, що оперативна пам'ять завжди двійкова. Модулі пам'яті мають розміри в степенях двійки, тож 8 ГБ оперативної пам'яті — це насправді 8 ГіБ.
Для повсякденних оцінок різниця між десятковою та двійковою системами невелика на рівні кілобайта, де вона становить близько 2,4 відсотка, але зростає з масштабом: вона сягає приблизно 4,9 відсотка на рівні мегабайта, близько 7,4 відсотка на рівні гігабайта і майже 10 відсотків до рівня терабайта. Для професійної роботи, як-от виділення сховища, тарифікація даних або планування ємності, перевіряйте, яке визначення використовує інструмент чи контракт, оскільки ці 10 відсотків можуть обернутися реальними грошима або невдалим резервним копіюванням.
Коли вам потрібно переходити між байтами, кілобайтами, мегабайтами, гігабайтами та їхніми двійковими родичами, не вираховуючи степені двійки в голові, наш конвертер зберігання даних обробляє як десяткову, так і двійкову системи, тож ви можете порівняти їх поруч і побачити саме там, де числа розходяться.