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

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

  • автор:

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

Это связано с техническими особенностями двоичной системы численного представления данных. Килобайт означает 2 в степени 10 байт, что равно 1024 байтам. Это связано с тем, что компьютер хранит и обрабатывает данные в двоичной системе, а степени двойки используются для удобства вычислений и хранения информации в памяти компьютера. В то время как в десятичной системе, которая используется для обычных чисел, килобайт означает 1000 байт. Хотя сейчас некоторые производители используют метрические префиксы (к гигабайту — 1000 мегабайт, к мегабайту — 1000 килобайт), это не является стандартом в IT-сфере.

5 Нравится Комментировать

Лучший ответ выбран автором вопроса

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

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

Как скачать приложение Аэрофлот на «Андроид»

Вроде бы приставка «кило» означает 10 в третьей степени. Но 1 Кбайт — 1024 байта, а 1 Мбайт — 1024 Кбайта. Почему именно так?

Помните известный анекдот, когда айтишник просит денег в долг: «Не мог бы ты одолжить мне 1000 руб.? Ну или для ровного счета 1024!»

Действительно, многие из вас знают, что в килобайте вовсе не 1000 байт, но откуда появились такие странные цифры?

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

1 байт — это 2 3 (два в третьей степени) или 8 бит

Количество информации очень быстро стало расти еще в 60-х годах прошлого столетия. Возникла необходимость как-то обозначать большие массивы данных. Самым логичным путем посчитали уже привычное добавление приставок международной системы СИ: «кило», «мега» и так далее. С учетом особенностей двоичной системы исчисления, подобрали максимально близкое к 1000 значение, им оказалось 2 10 (два в десятой степени). Именно поэтому

1 Кбайт — это 2 10 байт или 1024 байта

Соответственно, остальные значения так и исчисляются: 1 Мбайт = 1024 Кбайта, 1 Гбайт = 1024 Мбайта и так далее. Кстати, теперь вы наверняка сможете понять, почему карты памяти или флешки имеют такие «странные» объемы: например, 8, 16, 32 Гбайта и так далее. Причина все та же — это 2 в определенной степени.

Еще пара интересных тем для любознательных «почемучек»:

  • Почему телевидение стало цифровым, а качество не улучшилось?
  • Почему большинство электросамокатов имеют «максималку» около 30 км/ч?

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

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

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

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

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

  • Вопрос задан более трёх лет назад
  • 7779 просмотров

Комментировать
Решения вопроса 0
Ответы на вопрос 7
Saboteur @saboteur_kiev Куратор тега Программирование
software engineer

Нет, неправильно.
То, что было в перфокартах для контроля четности — это оставьте перфокартам, контроль четности и кодирование данных никак не связаны с обозначением кило и 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. Но это важно для стандартизации, маркетинга, а не для программирования.

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

Так сколько там байт в килобайте?

Нас учили, что в 1 килобайте ровно 1024 байт. Говорят, так было и 50 лет назад, и сегодня вроде как ничего не изменилось. Но тут узнал от друга, что им на информатике говорили, что в 1 килобайте 1000 байт, соответственно в 1 мегабайте 1000 килобайт и т.д. Я начал гуглить разные методические пособия, и просто охренел. Какие-то форумы, на которых идут баталии по поводу этого вопроса, какие-то «мнения» по поводу единиц измерения. Какие могут быть мнения, когда информатика это ТОЧНАЯ НАУКА? Что за бред, откуда это все взялось и почему кому-то рассказывают про «1000 килобайт»? Им реально препод впаривал, что килобайт это 1000 байт, а есть еще какой-то «кибибайт»- и это в нем 1024 байта, и именно им все правильно объясняют, а остальные дурачки необразованные.

Вот объясните мне, зачем все это? Кому это надо проталкивать эту путаницу в массы? Почему вдруг спустя столько лет я узнаю, что в килобайте не 1024 байт? Нужно ли мне знать этот бред? Зачем это проталкивают в школы? Компьютеры изменились или что?

shkolnik_2022
19.03.20 17:47:26 MSK

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

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