Перейти к содержимому
Двоичный код (бинарный код): что это простыми словами
blogQRcode.website019 мин чтения

Двоичный код (бинарный код): что это простыми словами

#двоичный код#бинарный код#бит и байт#кодирование#ASCII#UTF-8#информатика#QR-код

Двоичный код — это способ записать любую информацию всего двумя знаками: нулём и единицей. Число 13 превращается в 1101, буква A — в 01000001, чёрный пиксель — в 00000000. Никакой магии здесь нет: просто у алфавита ровно два символа вместо привычных десяти цифр или тридцати трёх букв.

Второе название — бинарный код, от латинского bini, «двойной». Оба термина означают одно и то же, и оба одинаково употребимы. Ниже — что такое бит и байт, как прочитать двоичную запись вручную, как сложить два двоичных числа, как выглядит поток бит в дампе файла и почему техника устроена именно так.

Что такое двоичный код простыми словами

Представьте ряд лампочек. Каждая либо горит, либо нет — третьего состояния нет. Договоримся: горит — единица, не горит — ноль. Ряд из восьми лампочек показывает 256 разных комбинаций, от «все погашены» до «все горят». Присвойте каждой комбинации значение — и получите код, которым можно записать число, букву, оттенок цвета или команду процессору.

Это и есть двоичный код. Он не про математику как таковую, он про способ представления. Комбинация 01000001 — это и число 65, и латинская буква A, и оттенок тёмно-серого в канале яркости. Смысл задаёт не сам код, а договорённость о том, как его читать: таблица символов, формат файла, протокол связи. Общая картина таких договорённостей — в обзоре по кодированию информации, здесь речь только о самой двоичной записи.

Двоичный код и двоичная система счисления — не одно и то же

Термины путают постоянно, хотя разница простая. Двоичная система счисления — это правила записи чисел по основанию 2, где каждый разряд весит вдвое больше соседа справа. Двоичный код — понятие шире: это любая запись информации нулями и единицами, включая ту, где чисел вообще нет. Штрих-код на пачке молока, азбука Морзе с точками и тире, флаги «прочитано / не прочитано» в почтовом ящике — всё это бинарные коды, но никак не арифметика.

Двоичная система — лишь один из способов записывать числа, и рядом с ней живут десятичная, восьмеричная, шестнадцатеричная. Как они соотносятся между собой и как пересчитывать числа из одной в другую — разобрано в обзорном материале про системы счисления. Здесь остаёмся строго внутри базы 2.

Бит и байт: из чего собран двоичный код

Бит (от binary digit — двоичная цифра) — минимальная единица информации. Один бит хранит ответ на один вопрос с двумя исходами: да или нет, включено или выключено, есть сигнал или нет. Больше одного бита из него не выжать.

Байт — группа из восьми бит, которую техника обрабатывает как единое целое. Восемь бит дают 2⁸ = 256 комбинаций, то есть один байт способен закодировать 256 разных значений: числа от 0 до 255, или 256 символов таблицы, или 256 градаций серого.

Сколько всего умещается в биты

БитКомбинаций (2ⁿ)Что этим кодируют
12Флаг: да / нет, вкл / выкл
416Полубайт (тетрада), одна цифра в hex
7128Классическая таблица ASCII
8256Байт: символ однобайтовой кодировки, один канал цвета
101024Отсюда «кило» в килобайте — 1024, а не 1000
2416 777 216Полноцветный пиксель: три канала по 8 бит
32≈ 4,29 млрдАдреса IPv4, обычное целое в программах

Закономерность видна сразу: каждый добавленный бит удваивает количество вариантов. Восемь бит — 256 значений, девять — уже 512. Именно поэтому объёмы данных растут скачками, а не плавно.

Биты в реальных единицах: канал, файл, кадр

Бит обозначают маленькой буквой b (по-русски «бит»), байт — большой B (по-русски «Б»). Провайдер продаёт скорость канала в мегабитах в секунду, а файловый менеджер показывает загрузку в мегабайтах — разница ровно восьмикратная. Тариф 300 Мбит/с при идеальной загрузке даёт около 37,5 МБ/с, поэтому фильм на 4 ГБ приезжает примерно за две минуты, а не за десять секунд.

Обратный пересчёт так же прост: умножьте байты на восемь и получите биты. Страница русского текста — около 2000 символов, в UTF-8 это примерно 4 КБ или порядка 32 тысяч бит. Один пиксель True Color стоит 24 бита, поэтому несжатый кадр 1920 × 1080 весит почти 50 миллионов бит. Битрейт, скорость канала и пропускную способность всегда указывают в битах, объём файла на диске — в байтах.

Вторая ловушка — приставки. В технике «кило» исторически означало 1024 (2¹⁰), а не 1000. Отсюда расхождение между надписью на коробке жёсткого диска и цифрой в проводнике: производитель считает гигабайт как миллиард байт, а система делит на 1024 трижды. Для развода понятий ввели кибибайт (КиБ), мебибайт (МиБ) и гибибайт (ГиБ) с множителем ровно 1024.

Как читать двоичный код: вес каждого разряда

Чтение двоичного числа — арифметика уровня начальной школы. Каждая позиция имеет свой вес, и веса идут степенями двойки справа налево: 1, 2, 4, 8, 16, 32, 64, 128 и дальше. Единица в разряде означает «этот вес берём», ноль — «пропускаем». Складываем взятые веса и получаем привычное число.

Разбор на примере

Возьмём запись 1101. Расставляем веса под цифрами справа налево:

Разряд1101
Вес8421
Берём841

8 + 4 + 1 = 13. Значит, 1101 — это тринадцать.

Ещё примеры для тренировки: 101 = 4 + 1 = 5, 10110 = 16 + 4 + 2 = 22, 10101010 = 128 + 32 + 8 + 2 = 170. И полезный ориентир: 11111111 — это все восемь весов сразу, то есть 255, максимальное значение одного байта.

Четыре приёма ускоряют счёт. Запись оканчивается на 0 — число чётное, на 1 — нечётное. Единица с нулями всегда даёт степень двойки: 10000 = 16, 1000000 = 64. Строка из одних единиц равна степени двойки минус один: 1111 = 15, восемь единиц = 255. Ведущие нули на величину не влияют, их дописывают только ради выравнивания под восемь бит.

Как записать число двоичным кодом

Обратная задача решается тем же набором весов, только с конца. Берём число и «разбираем» его на степени двойки, начиная с самой крупной, которая ещё помещается.

Пример с числом 42. Самая большая подходящая степень — 32, остаётся 10. Следующая подходящая — 8, остаётся 2. Дальше — сама двойка, остаток 0. Взяли веса 32, 8 и 2, значит единицы стоят в соответствующих разрядах, остальные позиции — нули:

Вес32168421
Бит101010

Получилось 101010. Проверка обратным ходом: 32 + 8 + 2 = 42. Сходится.

Метод весов удобен для небольших чисел — до пары сотен считается в уме за секунды. Для больших значений и для перевода в другие основания работает формальный алгоритм деления с остатком, описанный в материале про системы счисления.

Мини-таблица чисел от 0 до 16

ДесятичноеДвоичноеДесятичноеДвоичное
0000091001
10001101010
20010111011
30011121100
40100131101
50101141110
60110151111
701111610000
8100025511111111

Первые шестнадцать значений стоит запомнить: любой байт — это две такие тетрады подряд.

Сложение в двоичном коде: перенос через разряд

Складывают двоичные числа столбиком, ровно как десятичные, только таблица сложения короче некуда: 0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, а 1 + 1 = 10 — в разряде остаётся ноль, единица уходит в перенос налево. Переполнение разряда наступает уже на двойке, поэтому переносы случаются почти в каждом столбце, и это единственное, что отличает двоичный столбик от школьного. Сложим 1011 и 0110, то есть 11 и 6:

Вес168421
Перенос111
Первое (11)1011
Второе (6)0110
Сумма (17)10001

Идём справа налево. Крайний правый столбец: 1 + 0 = 1. Второй: 1 + 1 = 10, пишем 0, единицу в перенос. Третий: 0 + 1 плюс перенос = 10, снова пишем 0 и переносим. Четвёртый: 1 + 0 плюс перенос = 10, пишем 0, переносим. Слева появляется новый разряд с весом 16. Итог 10001 = 16 + 1 = 17, и это верно.

Сдвиг вместо умножения

Приписали ноль справа — умножили число на два: 1101 = 13, а 11010 = 26. Ровно как приписанный ноль в десятичной записи умножает на десять. Отбросили крайний правый разряд — разделили на два. Отсюда берутся операции сдвига, которые процессор выполняет за один такт: умножение на 8 внутри программы часто превращается в сдвиг на три позиции влево.

Вычитание и переполнение байта

Отдельной схемы вычитания в процессоре обычно нет: отрицательные числа хранят в дополнительном коде, где старший бит работает признаком знака, и вычитание сводится к сложению. Побочный эффект — несимметричный диапазон: в 8-битном знаковом типе помещаются значения от −128 до 127.

Второй побочный эффект — переполнение. Байт вмещает 255, и прибавленная к 11111111 единица выносит перенос за границу восьми разрядов. Хранить его негде, остаётся 00000000. Так рождаются классические баги со счётчиками, которые внезапно обнуляются, и старые игры, где 256-й уровень превращался в нулевой.

Буквы и сообщения в двоичном коде

Сам по себе двоичный код букв не знает. Он знает числа. Чтобы записать букву, её сначала заменяют номером по таблице символов, а уже номер переводят в биты. Вся разница между кодировками — в том, какой номер какой букве присвоен.

Латинские буквы, цифры и знаки препинания сидят в таблице ASCII, где на символ отведено семь бит (128 позиций); на практике их дополняют ведущим нулём до полного байта. Полный перечень номеров, включая управляющие коды, разобран в отдельном материале про таблицу ASCII, а здесь достаточно нескольких опорных значений:

СимволНомерДвоичный код
пробел3200100000
A6501000001
Z9001011010
a9701100001

Русских букв в ASCII нет — таблица создавалась под английский. В господствующей сегодня UTF-8 кириллический символ занимает два байта, в старой однобайтовой Windows-1251 — один, и двоичная запись одной и той же буквы зависит от того, какую кодировку выбрали:

БукваКод ЮникодаUTF-8 (16 бит)Windows-1251 (8 бит)
АU+041011010000 1001000011000000
БU+041111010000 1001000111000001
аU+043011010000 1011000011100000
яU+044F11010001 1000111111111111

Отсюда практический вывод: спросить «какой двоичный код у буквы Б» без указания кодировки — то же самое, что спросить размер обуви без указания системы. Ответ 11010000 10010001 верен для UTF-8, ответ 11000001 — для Windows-1251, и оба правильные в своём контексте. Когда программа читает байты в чужой кодировке, на экране появляются нечитаемые символы — почему так выходит и как чинится, разобрано в статье про кракозябры в тексте.

Как записать целое сообщение

Порядок действий один и тот же, сколько бы букв ни было: каждый символ по очереди заменяется своим номером, номер разворачивается в биты, байты выстраиваются в ряд.

  1. Выберите кодировку. Для латиницы — ASCII, она же начало UTF-8. Для русского текста — UTF-8, если не требуется совместимость со старой системой.
  2. Найдите номер каждого символа. В таблице символов или через любой конвертер.
  3. Переведите номера в биты. Методом весов, дополняя нулями слева до полного байта.
  4. Соедините байты подряд. Пробелы между ними ставят только для читаемости, в файле их нет — там сплошной поток бит.

Слово QR латиницей: Q = 81 = 01010001, R = 82 = 01010010. Итого два байта, 16 бит: 01010001 01010010. Слово код кириллицей в UTF-8 растягивается на шесть байт: 11010000 10111010, 11010000 10111110, 11010000 10110100. Слово мир любопытнее: у букв м и и первый байт 11010000, а у р уже 11010001 — она перевалила за границу первой половины кириллического диапазона.

Обратный разбор — та же операция задом наперёд: режем поток на восьмёрки, каждую читаем по весам, число ищем в таблице символов. Кириллицу UTF-8 режем по парам байтов, ориентируясь на маркеры: байт, начинающийся с 110, открывает двухбайтовую последовательность, байт с началом 10 — её продолжение.

Практическое правило: в двоичном коде нет «пробела между буквами». Границу задаёт только договорённость о длине символа. Потеряли синхронизацию на один бит — весь дальнейший текст превращается в мусор.

Почему техника выбрала ровно два состояния

Причина не в математической красоте, а в физике и в надёжности.

Два уровня различаются с огромным запасом

Транзистор — по сути переключатель: ток проходит или не проходит. Отличить «есть напряжение» от «нет напряжения» схема способна миллиарды раз в секунду и почти без ошибок. Двухуровневая логика прощает огромный разброс: всё ниже порога читается как ноль, всё выше — как единица. То же самое на любом носителе: намагничен участок или нет, есть на диске микроскопическая ямка или нет, прошёл импульс света по волокну или не прошёл.

Отсюда же главное свойство цифровой записи — она не портится при копировании. Сигнал может ослабнуть и обрасти шумом, но пока он различим относительно порога, на выходе получаются те же нули и единицы, что на входе. Аналоговая запись накапливает искажения на каждой перезаписи, двоичная — нет.

Под двоичную логику есть готовая математика

Булева алгебра с операциями И, ИЛИ, НЕ появилась ещё в середине XIX века, задолго до электроники, а в 1937 году Клод Шеннон связал её с работой переключательных схем. После этого конструирование техники стало собираться из готовых кирпичей: логический элемент из транзисторов, сумматор из логических элементов, процессор из сумматоров и регистров.

Ошибки в двоичном коде легко ловить

Когда состояний всего два, повреждённый бит — это просто перевёрнутое значение. На таком допущении строятся все схемы контроля: бит чётности, контрольные суммы, коды с исправлением ошибок. Приёмник пересчитывает контрольное значение и сравнивает с полученным — расхождение означает, что данные пришли битыми.

Многоуровневые схемы всё равно отдают наружу биты

Полностью двухуровневой техника не осталась: ячейка современной флеш-памяти хранит восемь или шестнадцать уровней заряда, укладывая в один элемент три-четыре бита. Но многоуровневость живёт внутри узла — контроллер сразу переводит уровни в биты, а платой становятся сложная коррекция ошибок и меньший ресурс перезаписи. Наружу всё равно выходит обычный двоичный поток.

Как двоичный код выглядит в дампе

Сырые биты вживую почти никто не рассматривает: строка из шестидесяти нулей и единиц глазами не читается. Поэтому байты показывают шестнадцатеричными парами — один байт ровно два знака, а поток превращается в аккуратную сетку. Такой вид называют дампом, и открывает его любой hex-редактор.

Возьмём строку QR-код в UTF-8. Латинские Q и R занимают по байту, дефис тоже, каждая кириллическая буква — два байта. Девять байт, 72 бита:

СимволБайты (двоичный код)Он же в hex
Q0101000151
R0101001052
-001011012D
к11010000 10111010D0 BA
о11010000 10111110D0 BE
д11010000 10110100D0 B4

В окне редактора это три колонки: слева смещение от начала файла, в середине байты, справа их же попытка прочитаться как текст. Кириллица в правой колонке чаще всего показывается точками — редактор печатает каждый байт по отдельности.

Дамп позволяет опознать данные по первым же байтам, не открывая файл целиком. PNG начинается с 10001001 01010000 01001110 01000111 (в hex — 89 50 4E 47): три последних байта складываются в буквы PNG, а первый специально сделан «нетекстовым», чтобы файл не приняли за текстовый. Файл в UTF-8 иногда открывается тремя служебными байтами EF BB BF, из-за которых чужие парсеры спотыкаются на первой строке.

Здесь же видно, почему поток режут строго по восемь бит. Разметки внутри него нет: смещение на один бит рушит весь остаток файла и превращает текст в шум. В дампе байты уже разложены по ячейкам, границы не теряются.

Где двоичный код встречается каждый день

Он не спрятан глубоко в железе — его следы видны в обычных настройках и цифрах на экране.

  • Цвет на экране. Каждый канал RGB — один байт, 256 градаций. Белый цвет — это 11111111 11111111 11111111, чёрный — сплошные нули.
  • Маска подсети. Привычная 255.255.255.0 в двоичном виде — 11111111.11111111.11111111.00000000. Двадцать четыре единицы подряд, отсюда и запись /24.
  • Права доступа к файлам. Тройка rwx — это три бита: 111 означает полный доступ, 101 — чтение и выполнение без записи.

Двоичный код в QR-кодах и штрих-кодах

Здесь двоичный код виден буквально глазами: тёмный элемент — единица, светлый — ноль. Оптический код и есть битовая карта, вынесенная на бумагу, и читается она как обычный поток бит.

Что лежит в сетке QR-символа

Каждая квадратная ячейка QR-символа хранит ровно один бит. Самый маленький символ первой версии — сетка 21 × 21, то есть 441 модуль, но заметная часть работает на служебные нужды: три маркера по углам, синхрополосы, поля с информацией о формате. Под нагрузку в первой версии остаётся 208 бит, то есть 26 байт вместе с проверочными.

Поток собирается по строгой схеме: четыре бита индикатора режима, счётчик длины, данные, терминатор из нулей. Оставшееся место добивают чередующимися байтами-заполнителями 11101100 и 00010001 — в дампе они узнаются сразу и означают недозаполненный символ. Дальше поток режут на восьмибитные кодовые слова, добавляют проверочные байты Рида — Соломона и раскладывают по сетке змейкой снизу вверх парами столбцов.

Последний штрих — маскирование. Биты данных складываются по модулю 2 с одним из восьми шаблонов, чтобы в узоре не появлялось крупных однотонных пятен и ложных маркеров: сканеру нужен контрастный рисунок, а не поле сплошных нулей. Номер маски занимает три бита в поле формата, и декодер снимает её первым же действием. Именно поэтому два QR-кода с почти одинаковым содержимым выглядят по-разному. Увидеть, как узор меняется от одной добавленной буквы, можно в генераторе QR-кодов.

Линейный штрих-код — те же биты в одном измерении

В EAN-13 символ состоит из 95 модулей одинаковой ширины, и каждый из них тоже бит: тёмный или светлый. Полосы разной толщины — это несколько одинаковых бит подряд, а не отдельные знаки. На одну цифру приходится семь модулей, рисунок задан таблицей: ноль в правой половине кода записывается как 1110010, в левой — как 0001101.

Самое интересное спрятано в левой половине: там каждая цифра записывается одним из двух семибитных наборов — с чётным или нечётным количеством тёмных модулей. Порядок чередования наборов сам по себе кодирует первую цифру номера, для которой отдельного места в символе не нашлось. Она физически не нарисована и читается по битовому рисунку остальных.

Шпаргалка

  • Двоичный код — запись информации двумя знаками, 0 и 1. Второе название — бинарный.
  • Бит — один знак, байт — восемь бит и 256 возможных значений.
  • Чтение: веса разрядов справа налево 1, 2, 4, 8, 16, 32, 64, 128; сложить те, где стоит единица. 1101 = 13.
  • Запись: разобрать число на степени двойки от большей к меньшей. 42 = 32 + 8 + 2 = 101010.
  • Сложение: 1 + 1 = 10, единица уходит в перенос. 1011 + 0110 = 10001, то есть 11 + 6 = 17.
  • Ноль справа удваивает число; 11111111 = 255 — потолок байта, плюс единица без запаса разрядов даёт 0.
  • Буква сначала становится номером по таблице символов, потом номер становится битами.
  • Скорость канала считают в битах, объём файла — в байтах; разница восьмикратная.
  • В дампе байты показывают шестнадцатеричными парами: так те же биты читаются глазами.
  • В QR-коде один модуль равен одному биту, и поверх данных наложена маска.

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

Как перевести букву или слово в двоичный код?

Перевод идёт в два шага, потому что напрямую буквы в биты не превращаются. Сначала символ заменяется своим номером по таблице кодировки, затем номер записывается двоичными разрядами. Для латиницы работает таблица ASCII: буква A имеет номер 65, а 65 в двоичном виде — это 01000001, поскольку 64 + 1 = 65. Строчная a идёт под номером 97 и даёт 01100001. Для кириллицы всё зависит от кодировки. В UTF-8 русская буква занимает два байта: А записывается как 11010000 10010000, Б как 11010000 10010001, строчная б как 11010000 10110001. В старой однобайтовой Windows-1251 те же буквы короче ровно вдвое: А это 11000000, Б это 11000001. Со словом действуйте посимвольно и ставьте байты подряд. Слово QR превращается в 01010001 01010010, а «код» в UTF-8 растягивается на шесть байт, потому что каждая из трёх букв стоит двух. Пробелы между группами нужны только глазу — в файле лежит непрерывный поток бит.

Сколько бит в одном байте и почему именно восемь?

В одном байте восемь бит, и это даёт 256 комбинаций — от 00000000 до 11111111, то есть значения от 0 до 255. Восьмёрка не была очевидной: на ранних машинах байт означал минимальную адресуемую порцию памяти и насчитывал шесть, семь или девять бит. Стандартом восьмибитный байт сделала архитектура IBM System/360 в середине 1960-х. Причины практические. Семи бит хватало на всю таблицу ASCII со 128 символами, а восьмой оставался под контроль чётности или под национальные буквы — именно так позже появились однобайтовые кириллические кодировки. К тому же восемь — степень двойки, что удобно схемотехнике: байт делится пополам на две тетрады по четыре бита, и каждая тетрада соответствует одной шестнадцатеричной цифре, поэтому дамп памяти читается парами символов. В сетевых стандартах, где историческая неоднозначность мешала, для группы из восьми бит используют термин «октет» — он не допускает других вариантов.

Как прочитать двоичное число вручную?

Нужен только ряд весов: справа налево разряды весят 1, 2, 4, 8, 16, 32, 64, 128 и дальше с удвоением. Подпишите веса под цифрами двоичной записи, возьмите те, над которыми стоит единица, и сложите. Для 1101 веса равны 8, 4, 2 и 1; единицы стоят над 8, 4 и 1, сумма равна 13. Для 10110 берём 16, 4 и 2 и получаем 22. Для 10101010 складываем 128, 32, 8 и 2 — выходит 170. Приёмы, ускоряющие счёт: запись оканчивается нулём — число чётное, единицей — нечётное; единица с нулями всегда даёт степень двойки (100000 это 32); строка из одних единиц равна степени двойки минус один, поэтому восемь единиц подряд дают 255, максимум для байта; приписанный справа ноль удваивает значение так же, как в десятичной записи умножает на десять. Ведущие нули слева на величину не влияют и нужны лишь для выравнивания записи под восемь разрядов, чтобы байты было удобнее различать глазами.

Как складывать двоичные числа и что такое переполнение?

Складывают столбиком справа налево, как десятичные, но таблица сложения совсем короткая: 0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, а 1 + 1 = 10, то есть в разряде остаётся ноль и единица уходит в перенос налево. Разряд переполняется уже на двойке, поэтому переносы идут почти в каждом столбце. Сложим 1011 и 0110 (это 11 и 6). Правый столбец даёт 1. Следующий: 1 + 1 = 10, пишем 0, переносим единицу. Третий и четвёртый по той же схеме дают 10 с переносом. Слева открывается новый разряд, получается 10001, то есть 17. Переполнение возникает, когда перенос выходит за отведённое число разрядов. Байт вмещает максимум 11111111, то есть 255; прибавили единицу, а хранить перенос негде — останутся восемь нулей, и счётчик покажет ноль вместо 256. У знаковых типов картина похожая: 32-битное целое упирается примерно в 2,1 миллиарда и на следующем шаге уходит в минус. Отсюда классические сбои со счётчиками и датами.

Чем двоичный код отличается от двоичной системы счисления?

Двоичная система счисления — это правила записи чисел по основанию 2: разряды идут степенями двойки, есть только цифры 0 и 1, работают привычные сложение и умножение. Она стоит в одном ряду с десятичной и шестнадцатеричной и занимается исключительно числами. Двоичный код — понятие шире: так называют любое представление информации через два состояния, независимо от того, есть ли в нём арифметика. Флаг «прочитано или нет», чёрные и белые модули QR-символа, полосы штрих-кода, точки и тире азбуки Морзе — всё это бинарные коды, но числами там ничего не считают. Пересечение есть: когда двоичным кодом записывают именно число, работает как раз двоичная система счисления. Но кодирование буквы, цвета пикселя или команды процессора выходит за её рамки — смысл битовой комбинации задаёт внешняя договорённость. Система счисления отвечает на вопрос «сколько», двоичный код — на вопрос «как это записать двумя знаками».

Сколько бит занимают текст, фотография и минута видео?

Считается это в два действия: находим объём в байтах и умножаем на восемь. Страница русского текста — примерно 2000 символов, в UTF-8 каждый кириллический символ весит два байта, значит около 4 КБ или порядка 32 тысяч бит. Английская страница того же объёма уложится вдвое компактнее. Несжатый кадр 1920 × 1080 в полном цвете занимает 1920 × 1080 × 24 ≈ 50 миллионов бит, примерно 6 МБ. Отсюда понятно, почему видео без сжатия нежизнеспособно: тридцать таких кадров в секунду дали бы под 1,5 гигабита. Реальный поток 1080p идёт на 8 Мбит/с, то есть минута видео — это 480 миллионов бит или около 60 МБ. Главное не путать единицы: битрейт и скорость канала всегда указывают в битах, размер файла на диске — в байтах, и между ними ровно восьмикратная разница.