Чем отличаются КБ и КиБ: почему диск на 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 0001 КиБ (киби)1 0242,34 %
1 МБ (мега)1 000 0001 МиБ (меби)1 048 5764,63 %
1 ГБ (гига)1 000 000 0001 ГиБ (гиби)1 073 741 8246,87 %
1 ТБ (тера)1 000 000 000 0001 ТиБ (теби)1 099 511 627 7769,05 %
1 ПБ (пета)1 000 000 000 000 0001 ПиБ (пеби)1 125 899 906 842 62411,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.

Как не ошибиться на практике

Как перевести ГБ в ГиБ и обратно

  1. Найдите точное число байт. Для накопителя умножьте объём с коробки на 1 000 000 000 (ГБ) или на 1 000 000 000 000 (ТБ). В Windows точное число байт указано в свойствах диска рядом с округлённым значением.
  2. Разделите на 1 073 741 824. Столько байт в гибибайте (2³⁰). Для диска на 1 ТБ: 1 000 000 000 000 ÷ 1 073 741 824 = 931,32 ГиБ — это и есть «931 ГБ» проводника.
  3. Для терабайт разделите ещё раз на 1 024. 931,32 ÷ 1 024 = 0,9095 ТиБ. Диск на 2 ТБ — 1,82 ТиБ (проводник отбросит дробь и покажет 1,81 ТБ), на 4 ТБ — 3,64 ТиБ.
  4. Для обратного перевода умножайте. ГБ = ГиБ × 1,0737; ТБ = ТиБ × 1,0995. Планка памяти на 16 ГиБ в десятичных единицах — 17,18 ГБ.

Частые вопросы

Сколько байт в килобайте — 1000 или 1024?

По СИ и стандарту МЭК — 1000; 1024 байта называются кибибайтом (КиБ). В обиходе и в Windows «КБ» до сих пор означает 1024 байта, поэтому смотрите, по какому основанию считает конкретная программа.

Куда пропали 69 ГБ на диске в 1 ТБ?

Никуда: 1 000 000 000 000 байт ÷ 1 073 741 824 = 931,32 ГиБ. Windows показывает те же байты в двоичных единицах, но подписывает их «ГБ». Ещё несколько сотен мегабайт занимают файловая система и служебные разделы.

Почему при тарифе 100 Мбит/с файл качается на 11–12 МБ/с?

В байте 8 бит: 100 Мбит/с = 12,5 МБ/с, а если программа считает мегабайт как 1 048 576 байт — 11,92 МБ/с. Остаток съедают служебные заголовки протоколов и ограничения сервера.

Почему память 8 ГБ показывается как 8 ГБ, а диск 1 ТБ — как 931 ГБ?

Модули памяти делают по двоичным объёмам: 8 ГБ ОЗУ — это 8 589 934 592 байта, ровно 8 ГиБ, и Windows считает в тех же единицах. Накопители маркируют в десятичных: 1 ТБ = 1 000 000 000 000 байт, и в двоичных единицах это 931,32 ГиБ.

Как правильно писать: КБ, Кб, кБ или КиБ?

Прописная «Б» — байт, строчная «б» — бит: 100 Мб/с и 100 МБ/с различаются в 8 раз. Для 1024 байт точное обозначение — КиБ. ГОСТ 8.417-2002 оговаривает, что «Кбайт» в значении 1024 байта пишут с прописной К, тогда как строчная «к» — множитель 1000, как в «кг».

Инструменты из статьи

Обновлено