1000 или 1024?
Существуют два семейства единиц, и они почти, но не совсем, одинакового размера. Десятичные (SI) приставки растут по 1000: килобайт (kB) — это 1000 байт, мегабайт (MB) — 1 000 000, гигабайт (GB) — 10⁹. Двоичные (IEC) приставки растут по 1024 = 2¹⁰: кибибайт (KiB) — это 1024 байта, мебибайт (MiB) — 1 048 576, гибибайт (GiB) — 2³⁰. Разница растёт с размером: 2,4 % на кило, 4,9 % на мега, 7,4 % на гига и 10 % на тера.
Производители дисков и SSD используют десятичные единицы, поэтому диск «1 TB» содержит 10¹² байт. Windows показывает размеры в двоичных единицах, но подписывает их «GB», и тот же диск отображается как 931 GB. Ничего не пропало: оба числа описывают одни и те же байты.
| Десятичные | Байт | Двоичные | Байт |
|---|---|---|---|
| 1 kB | 1 000 | 1 KiB | 1 024 |
| 1 MB | 1 000 000 | 1 MiB | 1 048 576 |
| 1 GB | 1 000 000 000 | 1 GiB | 1 073 741 824 |
| 1 TB | 10¹² | 1 TiB | 1 099 511 627 776 |
Биты и байты
Байт — это 8 бит. Объём хранилища указывают в байтах (заглавная B), скорость сети — в битах в секунду (строчная b): соединение 100 Мбит/с передаёт в лучшем случае 12,5 МБ в секунду. Деление заявленной скорости на 8 — первый шаг любой оценки «сколько будет скачиваться», и инструмент выше делает это за вас.
Какие единицы использовать в коде?
Те, которых ожидает ваша аудитория, но будьте точны в том, какие именно вы имеете в виду. Память почти всегда двоичная (страница 4 KiB, буфер 64 MiB), пропускная способность и ёмкость дисков — десятичные. Неоднозначных форм «KB» и «MB» в логах и документации лучше избегать или определить их один раз в начале.
Вопросы
Сколько байт в гигабайте?
1 000 000 000 (10⁹) по десятичному определению, которое используют производители дисков и стандарт SI. Двоичный гибибайт (GiB) — это 1 073 741 824 байта, и именно его имеет в виду большинство операционных систем, показывая «GB».
Почему мой диск на 1 TB показывает 931 GB?
1 TB — это 10¹² байт. Делённое на 1024³ это 931,3 GiB, что Windows подписывает как GB. macOS и большинство инструментов Linux используют десятичные единицы и показывают 1 TB.
Сколько времени займёт скачивание 1 ГБ на канале 100 Мбит/с?
1 GB — это 8 000 Мбит; при 100 Мбит/с это 80 секунд в теории, обычно чуть больше из-за накладных расходов протоколов. Введите выше значения для любой комбинации.
Килобайт — это 1000 или 1024 байта?
Официально 1000. Единица в 1024 байта с 1998 года называется кибибайт (KiB), но слово «килобайт» по-прежнему широко используется для обеих, поэтому здесь две системы показаны рядом.
В чём разница между Mbps и MBps?
Mbps — мегабиты в секунду, MBps — мегабайты в секунду, в восемь раз больше. Интернет-тарифы продаются в Mbps; окна передачи файлов обычно показывают MB/s.