Чем отличаются КБ и КиБ: почему диск на 1 ТБ показывает 931 ГБ
Опубликовано
Килобайт (КБ) по Международной системе единиц — это 1 000 байт, а кибибайт (КиБ) — 1 024 байта; разница между ними 2,4 %. С каждой следующей приставкой расхождение растёт и на уровне терабайта доходит до 10 %: накопитель с надписью «1 ТБ» вмещает 1 000 000 000 000 байт, Windows трижды делит это число на 1 024 и показывает 931 ГБ. Байты никуда не исчезли — продавец и операционная система считают в разных единицах, но называют их одним словом.
Откуда взялись две системы приставок
Приставка «кило» входит в первый набор приставок метрической системы 1795 года и в физике всегда означала ровно тысячу: 1 кг = 1 000 г, 1 км = 1 000 м. «Мега», «гига» и «тера» добавлялись по мере надобности (гига и тера утверждены в 1960 году), и каждая из них — следующая степень тысячи.
Вычислительная техника построена на степенях двойки: n адресных линий позволяют обратиться к 2ⁿ ячейкам, поэтому ёмкость микросхемы памяти — это 1 024, 4 096, 65 536 и так далее. Число 1 024 отличается от тысячи всего на 2,4 %, и в 1960-е инженеры стали называть 1 024 байта «килобайтом», не придумывая нового слова. Для машины круглое именно оно: в двоичной записи 1 024 — единица с десятью нулями, в шестнадцатеричной — 400, тогда как тысяча выглядит как 1111101000₂ и 3E8₁₆; проверить это можно через перевод чисел между системами счисления. Пока речь шла о килобайтах, расхождение прощали, но мегабайт по основанию 1 024 больше десятичного уже на 4,86 %, гигабайт — на 7,37 %.
Чтобы развести две системы, Международная электротехническая комиссия (МЭК) в 1998 году утвердила отдельные двоичные приставки: киби (Ки), меби (Ми), гиби (Ги), теби (Ти), пеби (Пи) и эксби (Эи). Сегодня они закреплены в стандарте IEC 80000-13, а «кило», «мега» и «гига» в нём означают только степени тысячи. Российский ГОСТ 8.417-2002 фиксирует сложившуюся практику: в примечании сказано, что приставки СИ с байтом исторически применяют некорректно (1 Кбайт = 1 024 байт), и обозначение «Кбайт» пишут с прописной К — в отличие от строчной «к» в «кг».
Промышленность откликнулась на стандарты по-разному. Производители оперативной памяти по-прежнему считают в двоичных единицах: стандарт JEDEC для микросхем памяти закрепляет К = 1 024, и модуль «8 ГБ» содержит 8 589 934 592 байта — ровно 8 ГиБ. Производители жёстких дисков и флеш-накопителей с 1990-х годов используют десятичные приставки: ёмкость диска складывается из числа пластин, дорожек и секторов, степенью двойки она быть не обязана, а десятичная маркировка к тому же даёт более крупную цифру на коробке.
Сколько байт в килобайте, мегабайте, гигабайте и терабайте
В таблице — пять уровней приставок с точными значениями. Последний столбец показывает, на сколько десятичная единица меньше двоичной с тем же «именем»: именно этот процент теряется при переводе объёма с коробки в цифру на экране Windows.
| Приставка СИ | Байт | Приставка МЭК | Байт | Десятичная меньше на |
|---|---|---|---|---|
| 1 КБ (кило) | 1 000 | 1 КиБ (киби) | 1 024 | 2,34 % |
| 1 МБ (мега) | 1 000 000 | 1 МиБ (меби) | 1 048 576 | 4,63 % |
| 1 ГБ (гига) | 1 000 000 000 | 1 ГиБ (гиби) | 1 073 741 824 | 6,87 % |
| 1 ТБ (тера) | 1 000 000 000 000 | 1 ТиБ (теби) | 1 099 511 627 776 | 9,05 % |
| 1 ПБ (пета) | 1 000 000 000 000 000 | 1 ПиБ (пеби) | 1 125 899 906 842 624 | 11,18 % |
Обратный пересчёт даёт другие проценты: 1 КиБ больше 1 КБ на 2,4 %, 1 МиБ больше 1 МБ на 4,86 %, 1 ГиБ — на 7,37 %, 1 ТиБ — на 9,95 %, 1 ПиБ — на 12,59 %. Направление лучше не путать: «тебибайт на 10 % больше» и «терабайт на 9 % меньше» — оба утверждения верны, но о разных единицах.
Почему диск на 1 ТБ показывает 931 ГБ
Производитель обещает 1 ТБ и на коробке мелким шрифтом уточняет: 1 ТБ = 1 000 000 000 000 байт. Это честная десятичная величина. Windows берёт то же число байт, делит его на 1 073 741 824 — столько байт в гибибайте — и получает 931,32. Проводник отбрасывает дробную часть и подписывает результат «ГБ», хотя по стандарту МЭК это 931,32 ГиБ.
Формула перевода ГБ в ГиБ
ГиБ = ГБ × 1 000 000 000 ÷ 1 073 741 824 = ГБ × 0,9313. Для терабайт: ТиБ = ТБ × 0,9095. В обратную сторону: ГБ = ГиБ × 1,0737, ТБ = ТиБ × 1,0995.
По той же формуле пересчитываются и остальные типовые объёмы. Диск на 500 ГБ — 465,66 ГиБ; на 2 ТБ — 1 862,65 ГиБ, то есть 1,82 ТиБ; на 4 ТБ — 3,64 ТиБ; на 8 ТБ — 7,28 ТиБ. SSD на 256 ГБ — 238,42 ГиБ, на 512 ГБ — 476,84 ГиБ; флешка на 64 ГБ — 59,6 ГиБ, на 128 ГБ — 119,21 ГиБ. Проводник дробь отбрасывает, поэтому на экране будет 465 ГБ, 1,81 ТБ, 238 ГБ и 476 ГБ. Сверх этого несколько сотен мегабайт заберут таблицы файловой системы и служебные разделы, но на фоне процентов из таблицы эта доля мала.
В 2000-х годах покупатели в США подали несколько групповых исков к производителям жёстких дисков, посчитав недостающие гигабайты обманом. Дела закончились мировыми соглашениями, компании вину не признали, а на упаковках и в документации с тех пор стоит расшифровка «1 ГБ = 1 000 000 000 байт» и оговорка, что доступная в системе ёмкость будет меньше.
Дискета 3,5″ высокой плотности — гибрид двух систем: её 1 474 560 байт (80 дорожек × 2 стороны × 18 секторов × 512 байт) маркировали как «1,44 МБ», хотя это 1 440 × 1 024 байт — ни 1,47 десятичного МБ, ни 1,41 МиБ. Однослойный DVD на «4,7 ГБ» вмещает 4 700 372 992 байта, и Windows показывает для него 4,38 ГБ; диск Blu-ray на 25 ГБ — около 23,3 ГиБ.
Как считают Windows, macOS и Linux
Windows с первых версий считает по основанию 1 024 и подписывает результат КБ, МБ, ГБ и ТБ; Windows 11 в этом ничего не изменила. Точное число байт видно в окне свойств диска или файла — оно указано в скобках рядом с округлённым значением.
Apple в 2009 году, начиная с Mac OS X 10.6, перевела Finder на десятичные единицы, и iOS считает так же. Диск на 1 ТБ там показывает 1 ТБ, зато один и тот же файл на двух системах выглядит по-разному: 1 000 000 000 байт в Finder — «1 ГБ», а в свойствах файла в Windows — «953 МБ» (1 000 000 000 ÷ 1 048 576 = 953,67). Отсюда типичный спор «у меня этот файл весит меньше», в котором правы обе стороны.
В Linux ответ зависит от программы. Команды ls -lh и df -h считают по 1 024 и пишут K, M, G; с ключом —si у ls или -H у df те же команды выдают десятичные значения. Графические оболочки различаются: KDE подписывает двоичные единицы честно — КиБ, МиБ, ГиБ, а GNOME показывает десятичные.
Единственный вид памяти без разночтений — оперативная: модуль «16 ГБ» — это 16 ГиБ, то есть 17 179 869 184 байта, и Windows покажет ровно 16 ГБ. Поэтому у накопителя на 1 ТБ «пропадают» 69 ГБ, а у планки на 16 ГБ — ничего.
Почему интернет 100 Мбит/с качает 12 МБ/с
Провайдеры продают скорость в мегабитах в секунду, а программы показывают мегабайты в секунду. В байте 8 бит, и мегабит у операторов связи всегда десятичный: 100 Мбит/с = 100 000 000 бит/с = 12 500 000 байт/с = 12,5 МБ/с. Если менеджер загрузок считает мегабайт как 1 048 576 байт, на экране будет 11,92 МБ/с. Для гигабитного тарифа: 1 Гбит/с = 125 МБ/с, или 119,2 МиБ/с. Часть полосы уходит на служебные заголовки протоколов, а сервер редко отдаёт файл на полной скорости, так что 11 МБ/с при тарифе 100 Мбит/с — норма, а не обман.
Файл в 1 ГБ (1 000 000 000 байт) при 100 Мбит/с в идеале скачивается за 80 с; файл в 1 ГиБ — за 85,9 с. Важны и обозначения: по традиции прописная «Б» — байт, строчная «б» — бит, поэтому 100 Мб/с и 100 МБ/с различаются в 8 раз. В англоязычных материалах то же различие между Mbps (мегабиты) и MB/s (мегабайты).
Байты, символы и Base64: где ещё не сходятся цифры
Байт и символ — не одно и то же. В кодировке UTF-8 латинская буква занимает 1 байт, кириллическая — 2, большинство эмодзи — 4. Русский текст из 1 000 букв весит около 2 000 байт, то есть 1,95 КиБ; лимиты «1 000 символов» и «1 КБ» для него не совпадают. Точное число байт для конкретного текста покажет счётчик символов, слов и байт.
Вложения в письмах передаются в Base64: каждые 3 байта превращаются в 4 символа, и размер вырастает на 33,3 %. Файл в 1 МБ (1 000 000 байт) занимает в письме 1 333 336 байт; если почтовая служба считает лимит 25 МБ по размеру письма, вложение пройдёт только до 18,75 МБ. Во что превратятся конкретные данные, показывает кодировщик Base64.
Как не ошибиться на практике
- Покупая накопитель, умножайте объём с коробки на 0,9313 (для ГБ) или на 0,9095 (для ТБ) — столько покажет Windows: 1 ТБ → 931 ГБ, 2 ТБ → 1,81 ТБ, 4 ТБ → 3,63 ТБ.
- Сравнивайте байты, а не гигабайты. Число байт в свойствах файла одинаково на любой системе; всё остальное зависит от того, какое основание выбрала программа.
- Оперативная память — двоичная, накопители — десятичные. Если планка 8 ГБ показывается как 8 ГБ, а SSD на 512 ГБ — как 476 ГБ, оборудование исправно.
- Скорость: делите мегабиты на 8 и не ждите ровно 12,5 МБ/с при 100 Мбит/с.
- В документации и таблицах, где важна точность, пишите КиБ, МиБ и ГиБ для двоичных значений или один раз расшифровывайте единицу: «1 ГБ = 1 000 000 000 байт». Бит обозначайте строчной «б», байт — прописной «Б».
Как перевести ГБ в ГиБ и обратно
- Найдите точное число байт. Для накопителя умножьте объём с коробки на 1 000 000 000 (ГБ) или на 1 000 000 000 000 (ТБ). В Windows точное число байт указано в свойствах диска рядом с округлённым значением.
- Разделите на 1 073 741 824. Столько байт в гибибайте (2³⁰). Для диска на 1 ТБ: 1 000 000 000 000 ÷ 1 073 741 824 = 931,32 ГиБ — это и есть «931 ГБ» проводника.
- Для терабайт разделите ещё раз на 1 024. 931,32 ÷ 1 024 = 0,9095 ТиБ. Диск на 2 ТБ — 1,82 ТиБ (проводник отбросит дробь и покажет 1,81 ТБ), на 4 ТБ — 3,64 ТиБ.
- Для обратного перевода умножайте. ГБ = ГиБ × 1,0737; ТБ = ТиБ × 1,0995. Планка памяти на 16 ГиБ в десятичных единицах — 17,18 ГБ.