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

4.6.2009

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

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

 

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

 

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

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

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

 

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

 

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

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

 

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

 

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

 

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

 

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

 

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

Please reload

Featured Posts

I am not sure I should write this post in English as far as I am neither HR nor Law specialist and the language is not my native. Still I have a perso...

Professional standards

December 4, 2014

1/10
Please reload

Recent Posts

December 4, 2014

October 29, 2014

Please reload

Search By Tags
Please reload

Follow Us
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square

© 2014 Nikolay Grishchenko. Hosted by Wix.com

  • s-facebook
  • Twitter Metallic
  • s-linkedin