61

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

Если 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 ответов7

103

Во-первых, существует два типа префиксов, когда речь идет о цифровой информации (считанные байты): префиксы 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 МиБ = 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 МБ не могут иметь несколько значений, даже если (плохое) использование говорит об обратном.

13

Килобайт - это базовое измерение 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) относится к мебибайту
9

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

7

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

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

3

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

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

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

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

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

1

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

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

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

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

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

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

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .