Преобразование байтов к мегабайтам

Я видел три способа сделать преобразование от байтов до мегабайтов:

  1. megabytes=bytes/1000000
  2. megabytes=bytes/1024/1024
  3. megabytes=bytes/1024/1000

Хорошо, я думаю, что № 3 является полностью неправильным, но я видел его. Я думаю, что № 2 является правильным, но я ищу некоторые уважаемые полномочия (как W3C, ISO, NIST, и т.д.) для разъяснения, какой мегабайт является истинным мегабайтом. Кто-либо может процитировать источник, который явно объясняет, как это вычисление сделано?

Вопрос о премии: если № 2 является мегабайтом, чем называют № 1 и № 3?

BTW: производители Жестких дисков не рассчитывают как полномочия на этого!

99
задан James A Mohler 6 December 2012 в 23:09
поделиться

7 ответов

Традиционно под мегабайтом мы подразумеваем второй вариант - 1 мегабайт = 2 20 байтов. Но на самом деле это неверно, потому что мега означает 1 000 000. Есть новое стандартное имя для 2 20 байтов, это мебибайт ( http://en.wikipedia.org/wiki/Mebibyte ) и набирает популярность.

110
ответ дан 24 November 2019 в 05:04
поделиться

Мегабайт означает 2 ^ 20 байтов. Я знаю, что технически это не соответствует единицам СИ, и что некоторые люди придумали новую терминологию для обозначения 2 ^ 20. Все это не имеет значения. Попытки изменить язык, чтобы «прояснить» вещи, обречены на провал.

Производители жестких дисков используют его для обозначения 1 000 000 байтов, потому что это то, что он означает в SI, поэтому они считают технически , что они не лгут (хотя на самом деле это так). Это подпадает под ложь, чертову ложь и маркетинг.

1
ответ дан 24 November 2019 в 05:04
поделиться

Существует стандарт IEC, который различает термины, например, Мебибайт = 1024^2 байт, но Мегабайт = 1000^2 (чтобы быть совместимым с единицами СИ, такими как килограммы, где k/M/... означает 1000/1000000). На самом деле большинство людей в сфере информационных технологий предпочитают Мегабайт = 1024^2, а производители жестких дисков предпочитают Мегабайт = 1000^2 (потому что размеры жестких дисков будут казаться больше, чем они есть).

На самом деле, большинство людей путают стандарт IEC (множитель 1000) и традиционное значение (множитель 1024). В целом, не стоит делать предположения о том, что люди имеют в виду. Например, 128 кБит/с для MP3 обычно означает 128000 бит, потому что множитель 1000 в основном используется с единицей бит. Но часто люди называют 2048 кБит/с равными 2 МБит/с - запутано, да?

Так что, как правило, не доверяйте единицам бит/байт вообще ;)

.
25
ответ дан 24 November 2019 в 05:04
поделиться

Кстати: производители жестких дисков не считаются авторитетными специалистами в этом вопросе!

О, да, они это делают (и определение, которое они принимают из S.I. , является правильным). По связанным вопросам см. этот пост на CodingHorror.

16
ответ дан 24 November 2019 в 05:04
поделиться

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

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

2
ответ дан 24 November 2019 в 05:04
поделиться

Вот что говорит стандарт (SI):

http://physics.nist.gov/Pubs/SP330/sp330.pdf#page = 34

3
ответ дан 24 November 2019 в 05:04
поделиться

Ответ заключается в том, что №1 технически верен на основе реального значения префикса Mega, однако (а в жизни всегда есть a) математика для этого не так хороша в базе 2, которая является как считают компьютеры, поэтому №2 - это то, что люди действительно используют.

3
ответ дан 24 November 2019 в 05:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: