← Блог

Почему в 1 килобайте 1024 байта

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

Ответ на этот вопрос должен знать каждый выпускник средней школы. Логично предположить, что в одном килобайте 1000 байтов, как, например, в километре 1000 метров или в килограмме 1000 граммов. В действительности это не так, и, к сожалению, в наши дни я нередко вижу с какими неудобствами из-за этого, казалось бы парадокса, сталкиваются люди, далекие от мира высоких технологий. Именно для этих людей я и написал эту статью, в которой постараюсь максимально просто и понятно все разложить “по полочкам”. Однако, я уверен, для тех кто уже знает правильный ответ на вопрос тоже 100% найдется немного интересной информации в последних частях статьи. Прежде всего ответим на простой вопрос: Что измеряется в байтах?

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

Что означает термин «цифровое устройство»?

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

Би (два) означает, что одна ячейка хранения информации может принимать одно из двух значений – единица или ноль. Это действительно универсально, так например на древних перфокартах значение ячейки было либо «выбито», либо сохранялось целым. Аналогичные методы используются и при записи на современные носители (лазерные диски), только размеры этих ячеек измеряются в микроскопических величинах.

При обработке информации значения этих единиц хранения принимают форму единицы или нуля в цифровом устройстве. Одна ячейка, называется битом. То есть бит – это элементарная единица хранения цифровой информации. Но тут встает следующий вопрос: Как в этой последовательности ноликов и единичек передать информацию? Ведь в алфавите много больше знаков, да и алфавитов большое количество в разных языках. Более того, как мы видим, возможно сохранить таким образом и звук и изображение. Для хранения определенного объема информации была определена следующая единица. Последовательность из восьми бит – байт. В одном байте последовательностью восьми единичек и ноликов можно закодировать много больше информации, чем одним битом. В дальнейшем, когда потребовалось хранить более сложные данные – для сохранения одной ячейки информации использовалось несколько байтов.

Теперь, я думаю, мы готовы ответить на главный вопрос этой статьи.

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

Для предотвращения искажения информации было принято определённые биты делать своего рода “контрольными точками”. В случае повреждения участка информации, её чтение сбрасывалось и продолжалось со следующего участка, от следующей контрольной точки. Исторически сложилось, что на первых перфокартах было 40 ячеек (битов) в строке, что равно пяти байтам. 41-ый бит использовался в даном случае, как контрольная точка.

Ну и наконец, о килобайтах. Приставка кило, как мы в самом начале выянили, означает “тысяча”. Чтобы закодировать 1000 байтов должно потребоваться 8000 битов, но так как на каждом пятом байте добавляется один бит - контрольная точка, то для кодирования 1000 байтов нужно немного больше – 8200 битов. Разделив это, на стандартный объем байта – получаем, что на каждую тысячу байтов добавляется 25 “лишних” байтов.

И вот на этом этапе роль в истории науки сыграло важное совпадение. Дело в том, что в бинарной (двоичной) системе принято считать все объемы данных, связывая их с двойкой. Два в десятой степени – будет 1024. Это всего на один байт отличается от полученной нами выше величины. Таким образом для удобства машинных рассчетов было принято считать, что в одном килобайте не 1025 байтов, а 1024.

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

P.P.S. **Хотел обратить внимание, всех кто дочитал до этого места. Эта статья - антинаучный креатив. **Про перфокарты, 40 ячеек и округление от 1025 - это чистой воды вымысел. Я ни в коем случае не хотел кого бы то ни было запутать, а всего лишь заставить улыбнуться.Намного более занудную статью написал уважаемый А.Лебедев, так что можно почитать у него в “ководстве”.