Бит, байт и единицы измерения информации
Бит — это выбор из двух, байт — это восемь бит, а килобайты и мегабайты вырастают из степеней двойки.
Когда вы скачиваете фильм на «полтора гигабайта» или видите, что фотография «весит 4 мегабайта», за этими словами стоит очень простая идея: вся информация в компьютере хранится как последовательность нулей и единиц. Чтобы измерять её количество, нужна единица — как метр для длины. Этой единицей и стал бит.
Бит (англ. binary digit — «двоичная цифра») — минимальная единица измерения информации, отвечающая ровно на один вопрос с двумя равновероятными ответами: «да» или «нет», 0 или 1.
Бит: выбор из двух
Представьте, что вы загадали число от 1 до 8, а я угадываю, задавая вопросы, на которые можно ответить только «да» или «нет». Каждый ответ — это один бит, и каждый бит делит оставшиеся варианты пополам:
- «Число больше 4?» — отсекаем половину;
- «Число больше 6?» — отсекаем половину оставшегося;
- «Это число 8?» — остаётся один вариант.
Трёх вопросов хватает на 8 вариантов, потому что 2 × 2 × 2 = 2³ = 8. Это ключевая мысль: n бит кодируют 2ⁿ разных состояний. Один бит — 2 варианта (0 или 1), два бита — 4 (00, 01, 10, 11), три бита — 8, и так далее.
Байт = 8 бит
Одного бита мало, чтобы закодировать, например, букву. Поэтому биты объединили в группы. Исторически прижилась группа из 8 бит — она называется байт (англ. byte).
1 байт = 8 бит. Один байт может принимать 2⁸ = 256 различных значений (от 0 до 255).
256 значений как раз хватает, чтобы закодировать все латинские буквы, цифры и знаки препинания (этим занимается таблица ASCII). Поэтому байт стал «рабочей лошадкой»: размеры файлов и память считают именно в байтах, а не в битах.
Степени двойки
Компьютер мыслит двойками, поэтому удобные «круглые» числа в нём — это степени двойки, а не степени десятки. Запомните начало ряда — оно постоянно встречается:
2⁰ = 1 2¹ = 2 2² = 4 2³ = 8 2⁴ = 16 2⁵ = 32 2⁶ = 64 2⁷ = 128 2⁸ = 256 2⁹ = 512 2¹⁰ = 1024
Особенно важна последняя строка: 2¹⁰ = 1024. Это число «почти тысяча», и именно оно лежит в основе приставок кило-, мега- и гига- в мире информации.
Кило, мега, гига — почему 1024, а не 1000
В физике «кило» означает ровно 1000 (километр = 1000 метров). Но память компьютера устроена по степеням двойки, и ближайшая к тысяче «круглая» для компьютера величина — это 1024 = 2¹⁰. Поэтому традиционно:
- 1 Кбайт (килобайт) = 1024 байта = 2¹⁰ байт;
- 1 Мбайт (мегабайт) = 1024 Кбайт = 2²⁰ байт;
- 1 Гбайт (гигабайт) = 1024 Мбайт = 2³⁰ байт.
Каждый шаг вверх — это домножение на 1024 (то есть на 2¹⁰). Каждый шаг вниз — деление на 1024. В школьных и вузовских задачах по информатике используют именно эту, двоичную трактовку приставок.
Таблица единиц
Ниже — сводная таблица. Колонка «в байтах» показывает, насколько быстро всё растёт.
| Единица | Сколько меньших | Степень двойки | В байтах |
|---|---|---|---|
| 1 байт | 8 бит | 2³ бит | 1 |
| 1 Кбайт | 1024 байта | 2¹⁰ байт | 1 024 |
| 1 Мбайт | 1024 Кбайт | 2²⁰ байт | 1 048 576 |
| 1 Гбайт | 1024 Мбайт | 2³⁰ байт | 1 073 741 824 |
Как переводить единицы
Правило одно и его легко запомнить:
Идём вниз по таблице (Гбайт → Мбайт → Кбайт → байт → бит) — умножаем (на 1024, а на последнем шаге к битам — на 8).
Идём вверх — делим на те же числа.
Пример 1. Сколько бит в 2 Кбайт?
Спускаемся от Кбайт к битам: сначала к байтам (×1024), потом к битам (×8).
2 Кбайт = 2 × 1024 байта = 2048 байт 2048 байт = 2048 × 8 бит = 16 384 бита
Пример 2. Сколько Кбайт в файле размером 3 Мбайт?
Спускаемся на один шаг (Мбайт → Кбайт), значит умножаем на 1024:
3 Мбайт = 3 × 1024 Кбайт = 3072 Кбайт
Пример 3. Файл — 5120 байт. Сколько это Кбайт?
Поднимаемся (байт → Кбайт), значит делим на 1024:
5120 ÷ 1024 = 5 Кбайт
Калькулятор перевода
Попробуйте запустить код ниже: он переводит мегабайты в килобайты, байты и биты, домножая на нужные степени двойки. Поменяйте число mbytes и посмотрите, как меняется ответ.
mbytes = 4 # размер в мегабайтах
kbytes = mbytes * 1024 # 1 Мбайт = 1024 Кбайт
bytes_ = kbytes * 1024 # 1 Кбайт = 1024 байта
bits = bytes_ * 8 # 1 байт = 8 бит
print(mbytes, "Мбайт = ", kbytes, "Кбайт")
print(mbytes, "Мбайт = ", bytes_, "байт")
print(mbytes, "Мбайт = ", bits, "бит")Вывод программы:
4 Мбайт = 4096 Кбайт 4 Мбайт = 4194304 байт 4 Мбайт = 33554432 бит
Обратите внимание: одно и то же количество информации можно записать очень разными числами. Чем мельче единица (бит), тем больше число; чем крупнее (Мбайт), тем оно компактнее. Сама информация при этом не меняется — меняется только «линейка», которой мы её измеряем.
Частые ошибки
- Путают бит и байт. В байте 8 бит, а не 10 и не 1000. Скорость интернета часто указывают в мегабитах в секунду (Мбит/с), а размер файла — в мегабайтах (Мбайт), поэтому «100 Мбит/с» — это всего около 12,5 Мбайт в секунду.
- Считают, что 1 Кбайт = 1000 байт. В задачах по информатике 1 Кбайт = 1024 байта (степень двойки).
- При переходе к битам забывают умножить на 8. Перевод «байт → бит» — это всегда ×8, а не ×1024.
- Путают направление. Вниз к мелкой единице — умножаем, вверх к крупной — делим.
Коротко
- Бит — минимальная единица информации, выбор из двух (0 или 1); n бит кодируют 2ⁿ состояний.
- 1 байт = 8 бит и принимает 256 значений (от 0 до 255).
- 1 Кбайт = 1024 байт, 1 Мбайт = 1024 Кбайт, 1 Гбайт = 1024 Мбайт — каждый шаг это ×1024 = ×2¹⁰.
- Перевод: вниз по единицам — умножаем, вверх — делим; к битам — отдельно ×8.