Почему в килобайте 1024 байта
Перейти к содержимому

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

  • автор:

Правильно ли объясняется в тексте почему в 1 кб 1024 байт?

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

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

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

как вы можете объяснить почему в 1 кб 1024 б??

  • Вопрос задан более трёх лет назад
  • 6487 просмотров
  • Facebook
  • Вконтакте
  • Twitter

Нет, неправильно.
То, что было в перфокартах для контроля четности — это оставьте перфокартам, контроль четности и кодирование данных никак не связаны с обозначением кило и 1024. И уж тем более 1025 вообще далеко от ИТ.

Все проще.
Берем 1 бит, можем оперировать двумя значениями 0 и 1
2 бита — 4 значения, 0-3
3 бита — 8, 0-7
4 бита — 16, 0-15
5 бит — 32, 0-31
6 бит — 64, 0-63
7 бит — 128, 0-127
8 бит — 256, 0-255
9 бит — 512, 0-511
10 бит — 1024, 0-1023

Нет такого набора бит, чтобы мы могли оперировать ровно 1000 значений. 9 бит мало, а 10 бит позволяют оперировать уже 1024 значениями. Ограничиваьт себя искусственно нет смысла.
Поэтому на железном уровне в качестве адресации используются степени двойки, чтобы максимально эффективно использовать все используемые биты и память.
Следовательно ближайшее к 1000 «компьютерное» число это 1024, отсюда в килобайте 1024 байт.

Для бизнеса это оказалось не очень удобно. И вообще много технических моментов обычным пользователям непонятно почему и как, например с теми же жесткими дисками, когда объем неотформатированного диска и отформатированного может отличаться на заметные процентов 10-15.
Кроме того, в системе Си, приставки кило, мега, и так далее всегда означали 1000 чего-то. Поэтому с исторически сложившимся 1024 в ИТ отрасли сложилась некомфортная ситуация. Для исправления и появились новые названия, кибибайты, мегибайты, а килобайты и мегабайты по общепринятой системе Си теперь кратны 1000. Но это важно для стандартизации, маркетинга, а не для программирования.

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

Почему в килобайте 1024 байт, а не просто 1000?

Сам задался этим вопросом, как раз в школе начали изучать эту тему, вот оптимальный ответ Ближайшее значение к 1000 -2^10=1024. я сам до конца не разобрался, но у нас уже задачи пошли, например сколько байт в 5мб. Или сколько байт в 2048 петабайт

Одним предложением тут не ответишь, что бы понять почему так , нужно знать, как устроена система вычислений в компьютерах. Работает она на основе двоичной системы, в которой именно цифра 2 имеет ключевое значение. Фактически любая единица информации (бит) в двоичном коде — это 2 в некоторой степени, т.е. 1 бит (2 состояния ячейки памяти — 0 или 1) в 0 степени. Дальше — больше,1 байт — это два в третьей степени или 8 бит, с учетом особенностей двоичной системы исчисления, подобрали максимально близкое к 1000 значение, им оказалось два в десятой степени. Именно поэтому 1 Кбайт — это 210 байт или 1024 байта.

Почему говорят, что в килобайте 1024 байта?

Короткий ответ: потому, что некоторые влиятельные програм мист ы, стоявшие у истоков этой классификации – идиоты.

В самом деле, если вам дадут 10 килобайт долларов, т.е. на каждый реальный байт – 1 доллар, то, посчитав поштучно, вы получите именно 1000 долларов, а не 1024.

Причина заблуждения – неразличение числа байт и того, что это число может кодировать. Максимально 10 бит может закодировать число 1024, — отсюда и пошло, что кило применяется не 10 3 , а 2 10 , что является настоящим идиотизмом переопределения слова кило ==1000.

Т.е. Эта «К» на самом деле двоичная приставка «киби» (а не «кило», как все говорят). Производители накопителей (жестких дисков (HDD), карт флэш-памяти, а также DVD и BD-дисков) используют десятичные приставки. Производители считают, что в нем 1 000 000 000 кило байт , а ОС Windows делит на 1024 и получает 976 562 500 К байт ( киби байт) или 931 Гбайт ( гиби байт).

И это никем не подвергалось сомнению точно так же, как столетиями было грешно сомневаться в авторитетном заявлении Аристотеля, что у мухи 8 ног.

Мне немало испортило крови это обстоятельство, начиная с теста на собеседовании, когда меня поправили, что в килобайте не 1000 байт.

Harry

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

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

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

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

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

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

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *