Правильно ли объясняется в тексте почему в 1 кб 1024 байт?
Для предотвращения искажения информации было принято определённые биты делать своего рода «контрольными точками». В случае повреждения участка информации, её чтение сбрасывалось и продолжалось со следующего участка, от следующей контрольной точки. Исторически сложилось, что на первых перфокартах было 40 ячеек (битов) в строке, что равно пяти байтам. 41-ый бит использовался в даном случае, как контрольная точка.
Ну и наконец, о килобайтах. Приставка кило, как мы в самом начале выянили, означает «тысяча». Чтобы закодировать 1000 байтов должно потребоваться 8000 битов, но так как на каждом пятом байте добавляется один бит — контрольная точка, то для кодирования 1000 байтов нужно немного больше – 8200 битов. Разделив это, на стандартный объем байта – получаем, что на каждую тысячу байтов добавляется 25 «лишних» байтов.
И вот на этом этапе роль в истории науки сыграло важное совпадение. Дело в том, что в бинарной (двоичной) системе принято считать все объемы данных, связывая их с двойкой. Два в десятой степени – будет 1024. Это всего на один байт отличается от полученной нами выше величины. Таким образом для удобства машинных рассчетов было принято считать, что в одном килобайте не 1025 байтов, а 1024.
harryhammer.blogspot.ru/2011/05/1024.html
как вы можете объяснить почему в 1 кб 1024 б??
- Вопрос задан более трёх лет назад
- 6487 просмотров
- Вконтакте
Нет, неправильно.
То, что было в перфокартах для контроля четности — это оставьте перфокартам, контроль четности и кодирование данных никак не связаны с обозначением кило и 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.
Надеюсь, теперь многие несуразицы, возникавшие при сохранении информации на Вашем компьютере, плеере, телефоне перестануть быть таковыми, или, по крайней мере, не станут вызывать раздражения.