Бит, байт и единицы измерения информации

Бит — это выбор из двух, байт — это восемь бит, а килобайты и мегабайты вырастают из степеней двойки.

Когда вы скачиваете фильм на «полтора гигабайта» или видите, что фотография «весит 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.
Проверьте себя
1. Сколько различных состояний можно закодировать тремя битами?
A3
B6
C8
D9
2. Чему равен один байт?
A4 битам
B8 битам
C1000 битам
D1024 битам
3. Сколько байт в 1 Кбайте в информатике?
A100
B256
C1000
D1024
4. Сколько бит в 2 Кбайт?
A2048 бит
B16 000 бит
C16 384 бита
D2 048 000 бит
5. Файл занимает 5120 байт. Сколько это килобайт?
A5 Кбайт
B5,12 Кбайт
C50 Кбайт
D512 Кбайт
6. Почему скорость 100 Мбит/с даёт примерно 12,5 Мбайт/с?
AПотому что часть скорости теряется в сети
BПотому что в байте 8 бит, и 100 делим на 8
CПотому что мегабит вдвое меньше мегабайта
DПотому что 1 Мбайт = 1000 Мбит
Поддержать проект