Правда ли, что 1 МБ может означать 1000000 байт, 1024000 байт или 1048576 байт?

Возможный дубликат:
В чем разница между кибибайтом, килобитом и килобайтом?

Если 1 КБ (килобайт) может означать 1000 байтов или 1024 байта,

А 1 МБ (мегабайт) может означать 1000 КБ или 1024 КБ,

не означает ли это, что 1 МБ может означать любое из четырех значений ниже?:

  1. 1000 × 1000 = 1000000 байт

  2. 1000 × 1024 = 1024000 байт

  3. 1024 × 1000 = 1024000 байт

  4. 1024 × 1024 = 1048576 байт

Или 2. и 3. не принимаются, поэтому 1 МБ может означать только 1000000 байт из 1048576 байт?

7 ответов

Решение

Во-первых, существует два типа префиксов, когда речь идет о цифровой информации (считанные байты): префиксы SI и двоичные префиксы.

СИ префиксы

Префиксы SI - это степени 1000 (1 000 1, 1 000 2, 1 000 3 и т. Д.):

  • 1 кБ = 1 килобайт = 1000 1 байт = 1000 байт;
  • 1 МБ = 1 мегабайт = 1 000 2 байта = 1 000 000 байтов;
  • 1 ГБ = 1 гигабайт = 1 000 3 байта = 1 000 000 000 байтов;
  • и так далее.

Как видите, только символы СИ, мега и выше, пишутся с большой буквы. Следовательно, KB не является допустимым префиксом.

Бинарные префиксы

Двоичные префиксы имеют степень 1024 (1 024 1, 1 024 2, 1 024 3 и т. Д.):

  • 1 КиБ = 1 кибибайт = 1 024 1 байт = 1024 байт;
  • 1 MiB = 1 мегабайт = 1 024 2 байта = 1 048 576 байтов;
  • 1 ГиБ = 1 гибибайт = 1 024 3 байта = 1 073 741 824 байта;
  • и так далее.

Как вы можете видеть здесь, каждый двоичный символ пишется с заглавной буквы, и перед символом B добавляется строчная буква i, чтобы указать, что мы говорим о кибибайтах вместо килобайтов, мегабайтах вместо мегабайтов и т. Д.


Однако бинарные префиксы широко не используются, Windows их вообще не использует.

В данном случае Windows сообщает нам, что емкость жесткого диска составляет 300 066 795 520 байт, что, согласно Windows, составляет 279 ГБ. Однако мы знаем, что если 1 000 000 000 байтов = 1 ГБ, 300 066 795 520 байтов = ~300 ГБ = ~279,5 ГБ.

Поэтому, если вы видите 1 КБ (что неправильно, помните) или 1 МБ, предположим, что речь идет соответственно об 1 кибибайте и 1 мегабайте. Кб, кб, Гб, гб и т. Д. Также часто встречаются, хотя они представляют биты (8 бит = 1 байт).


В общем, ни в коем случае 1 КБ или 1 МБ не могут иметь несколько значений, даже если (плохое) использование говорит об обратном.

Килобайт - это базовое измерение 10, поэтому 1 килобайт = 10 до степени 3 = 1000 байтов.

Хотя это не совсем точно для точного измерения физических данных, так как они хранятся в двоичном формате, который измеряется в базе 2, и, таким образом, кибибайт был создан в 1999 году для замены килобайта при использовании в контексте информатики для обозначения 1024 байта.

Кибибайт - это измерение базы 2, поэтому 1 кибибайт = 2 до степени 10 = 1024 байта.

То же самое относится и к мегабайту (1 мегабайт = 10 для мощности 6 = 1000000 байт), для которой измерение базы 2 составляет мегабайт (1 мегабайт = 2 для мощности 20 = 1048576 байт)

  • (1) относится к мегабайту
  • (2) и (3) не принимаются
  • (4) относится к мебибайту

В настоящее время использование "КБ", "МБ" и т. Д. Для обозначения чего-либо, кроме 1000 байтов, 1000 х 1000 байт и т. Д., Является устаревшим и противоречит большинству официальных стандартов. Новый способ выражения 1024 байта, 1024 x 1024 байта и т. Д. - это KiB (кибибайт), MiB (мебибайт) и т. Д. Это беспорядок, и контекст необходим для понимания того, что имеется в виду. См. http://en.wikipedia.org/wiki/Kibibyte для обсуждения этих вопросов.

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

В то время как префикс СИ k обозначает 1000, но в ИТ часто используется для обозначения 1024 (с некоторыми сторонниками бинарных префиксов), нет смысла выбирать между этими значениями в одном и том же числе.

Вы правы в своем вопросе. 1 и 4 верны, 2 и 3 нет.

По сути, вы определяете "тысячу", которая равна 1000 или 1024, и используете ее для умножения. Они не меняются местами.

Во второй базе (двоичной) самое близкое значение, которое вы можете получить к 1000, - 1024 (2^10). Это то, как компьютеры на самом деле думают о вещах, поэтому в памяти (RAM), например, 1 МБ будет 1048576 байт.

В базовой 10, однако, вы можете иметь 1000. Дисковые накопители работают так же, как и на жестком диске, обычно 1 МБ будет составлять 1000000 байт (хотя твердотельный режим работает в двоичном формате).

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

Итак, вот сделка. (Большинство) современных компьютеров работают на базе 2, а не на базе 10. (Да, я знаю, что есть исключения, но они действительно являются исключительными случаями.) Для наших (ваших) целей все компьютеры общего назначения (и, конечно, все потребительские используют компьютеры общего назначения) используют базу 2 для всей внутренней обработки. Фундаментальная единица - это бит, который может быть нулем или единицей. Восемь из них вместе составляют байт; 16 слово. Теперь это вообще говоря... 32-разрядные компьютеры обычно рассматриваются как использующие 32-разрядные "слова", 64-разрядные компьютеры, 64-разрядные слова и так далее. Вы заметили? Это все силы 2. Компьютер с одним "К" или килобайтом памяти всегда будет иметь 1024 байта памяти. Один мегабайт памяти всегда будет означать 1024 x 1024 байта. Опять же, все они имеют степень 2. Таким образом, компьютер с 64 МБ памяти всегда будет иметь 64 x 1024 x 1024 байта. Когда вы видите компьютеры, рекламируемые для продажи, объем памяти (ОЗУ) всегда будет основываться на степени 2. Вы никогда не увидите видеокарту, например, требующую 1 ГБ ОЗУ, что означает один миллиард байт.

Когда возникла путаница и что сводит людей с ума, это когда производители дисководов в своем стремлении предлагать все большие и большие накопители говорили: "Эй! Знаете, в других областях (не в компьютерах) К равен 1000, а М - 1 000 000 ". Если бы пара парней обсуждала, например, цену продажи автомобиля, и один предложил: "Я думаю, что" 8K "звучит правильно", другой автоматически понял бы, что "8K" означает 8000 долларов (а не 8192 доллара). Итак, эти производители дисков сказали: "Давайте начнем рекламировать наши продукты, используя эти меры, чтобы они звучали лучше". Но юристы подошли и сказали: "Подождите здесь. Практически все, кто, вы знаете, на самом деле работает с компьютерами и понимает, как они работают, плачут". На что эти умные ребята из рекламы ответили: "Нет проблем. Хорошо, просто поместите крошечную звездочку рядом с емкостью на коробке и в нашей документации, где написано что-то вроде" * 1 ГБ = 1 000 000 000 байтов ". Проблема решена".

И вот мы здесь со всей этой путаницей. Цитата из статьи вики выше, на которую ссылается @kreemoweet,

В большинстве случаев килобайт продолжает использоваться для обозначения степени десять, а также степени два.

И путаница продолжается. В практических целях, вы, вероятно, должны предполагать, что емкость диска основана на базовых 10 единицах измерения. Аналогично, объемы ОЗУ (вероятно) всегда будут основаны на единицах базы 2. Что касается других видов устройств и продуктов, это, вероятно, будет зависеть от базовой технологии и от того, что, по мнению рекламодателей, им может сойти с рук. В конце концов, чем больше, тем лучше, не так ли?

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

Да, так как это синтаксическая катастрофа. Эта статья Wiki объясняет проблему и включает таблицу "новых" слов, которые будут использоваться. Здесь, в реальном мире, никто не использует эти термины. Вы должны использовать контекст, чтобы определить, какое определение вы смотрите.

Другие вопросы по тегам