2

Недавно я изучил префиксы SI и Binary, используемые для цифрового хранения / вычисления в целом, и все еще не уверен, что понимаю логику префикса Binary (фактический вопрос внизу).

Текущее понимание (суммировано):

SI:

Кажется довольно простым, каждый раз, когда вы получаете «общее количество байтов == текущее значение префикса * 1000»: используйте следующий по величине префикс, который можно выразить как «1000 ^ 1 + количество префиксов SI, которые вы уже использовали, начиная с в килограммах. Достаточно просто.

Binary:

Таким образом, очевидно, что память работает лучше / легче, когда используются единицы данных, имеющие степень 2 (честно, объяснение «системной архитектуры» у меня над головой, поэтому я просто скажу им слово). Кроме того, в первые дни компьютеров до того, как были официально установлены бинарные префиксы, машина с 1024 байтами памяти (что было бы наименьшим объемом памяти, использующим степень 2, которая разбивает 1000 байтов), дизайнеры решили использовать уже установленный SI стандарты и описывают этот объем памяти как килобайт, хотя они на самом деле не были равны (это было «достаточно близко» более или менее).

Это где мое понимание начинает разрушаться, я предполагаю, что, поскольку стандарты СИ «поднимаются» к следующему префиксу с использованием формулы (база 1000 ^ 1 + используемый префикс #), то эквивалент в двоичном коде равен (база 1024 ^ 1 + используемый префикс #), поскольку 1024 ближе к 1000, чем 512 или 2048 с использованием степеней 2, и, следовательно, более близко относится к формуле SI.

Актуальный вопрос:

Итак, если это правильно, в данный момент зачем вообще использовать двоичные префиксы? Действительно ли «плохо» просто сказать «1,024 кБ» вместо 1 КиБ (или любую единицу измерения, которую вы измеряете)? Я предполагаю, что перечисление 4 ГиБ оперативной памяти как 4,29497 ГБ немного глупо (Это причина? Просто проще использовать округленные числа?). И правильно ли мое общее понимание этих префиксных стандартов?

Любые разъяснения приветствуются, спасибо за чтение.

1 ответ1

3

Ну, мы используем термины SI (иначе говоря, десятичные или метрические), потому что они являются правильными терминами для весов и мер (килограмм = 1000 граммов, километр = 1000 метров и т.д.) и потому , что они были вокруг в течение длительного времени (в кило- и миллиградусов префиксы были введены в 1700 - х годах, и они происходят из греческого и латыни, которые были использованы 2K лет назад [хар - хар]).  Мы используем двоичные термины, когда они уместны (в компьютерном контексте), потому что они являются правильными терминами в этих контекстах.

Но бинарные термины были введены менее 20 лет назад и формализованы менее 10 лет назад.  И это не новые термины, которые идут с новыми понятиями (как, например, «лазер»).  Это новые термины для установленных понятий (для которых использовались неправильные слова).  Таким образом, они медленно завоевывают популярность (потому что многие люди все еще неправильно используют старые термины).

Что напоминает мне: ты, кажется, запутался в этом.  Когда кто-то говорит «4 ГБ», когда он имеет в виду 4 294 967 296 байт, он не «округляет число», потому что он не означает «4,294967296 ГБ».  Он означает «4 ГиБ», и он использует неправильный термин.  Потому что он еще не изучил новые термины, или потому, что он не понимает, почему разница важна, или потому, что он боится, что люди, с которыми он разговаривает, поймут «GB», но не «GiB».  Система бинарных терминов не игнорируется; он все еще находится в процессе обучения, принятия и принятия.

Это подробно описано в Википедии.  Например, в статье Binary prefix :

Исторически сложилось так, что компьютерная индустрия использовала единицы измерения в килобайтах, мегабайтах и гигабайтах, а также соответствующие символы KB, MB и GB, по крайней мере, в двух немного разных системах измерения.  В ссылках на объем оперативной памяти (ОЗУ) гигабайт обычно означает 1 073 741 824 байта.  Поскольку это третья степень 1024, а 1024 - степень двух (2 10), такое использование называется двоичным префиксом.

В большинстве других случаев в отрасли используются множители килограмм, мега, гига и т.д. В соответствии с их значением в Международной системе единиц (СИ), а именно как степени 1000.  Например, жесткий диск объемом 500 гигабайт вмещает 500 000 000 000 байтов, а соединение Ethernet со скоростью 1 Гбит / с (гигабит в секунду) передает данные со скоростью 1 000 000 000 бит / с.  В отличие от использования двоичного префикса, это использование описывается как десятичный префикс, так как 1000 является степенью 10 (10 3).

Использование одних и тех же префиксов единиц с двумя разными значениями вызвало путаницу.  Начиная примерно с 1998 года, Международная электротехническая комиссия (МЭК) и несколько других организаций по стандартизации и торговле решили эту двусмысленность, опубликовав стандарты и рекомендации для набора двоичных префиксов, которые относятся исключительно к полномочиям 1024.  Соответственно, Национальный институт стандартов и технологий США (NIST) требует, чтобы префиксы SI использовались только в десятичном смысле: [1] килобайт и мегабайт обозначают одну тысячу байтов и один миллион байтов соответственно (в соответствии с SI), в то время как новые термины такие как кибибайт, мебибайт и гибибайт, имеющие символы KiB, MiB и GiB, обозначают 1024 байта, 1 048 576 байтов и 1 073 741 824 байта соответственно. [2]  В 2008 году префиксы МЭК были включены в стандарт МЭК 80000-13 .

[Предположительно, Википедия использует соглашение о написании больших десятичных чисел с группами из трех цифр, разделенных пробелами, чтобы уважать людей, которые используют . вместо того , чтобы , как «разделитель тысяч».]

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

В некоторых областях информационных технологий было принято назначать недесятичные кратные числа, основанные на степенях 1024, а не 1000, для некоторых префиксов СИ (кило, мега, гига), в отличие от определений в Международной системе единиц (СИ) ).  Эта практика была санкционирована некоторыми отраслевыми ассоциациями, включая JEDEC. Для этой цели Международная электротехническая комиссия (МЭК) стандартизировала систему бинарных префиксов (kibi, mebi, gibi и т.д.). [23]

А в кило-

Второе определение широко используется в некоторых областях компьютерных наук и информационных технологий, что, однако, не соответствует определению СИ.  Он использует килограмм как значение 2 10 = 1024 из-за математического совпадения, что 2 10 составляет приблизительно 10 3.  Причина этого применения состоит в том, что двоичные значения, изначально используемые в вычислениях, являются основанием 2, а не основанием 10, которое используется для префиксов SI.  NIST комментирует эту путаницу: «Столкнувшись с этой реальностью, Совет по стандартам IEEE решил, что стандарты IEEE будут использовать общепринятые, принятые на международном уровне определения префиксов SI» вместо килограмма для 1024. [4]

Больше ресурсов Википедии:

Это также было обращено на Super User раньше:

И для смеха, посмотрите этот комикс xkcd:
   
(но, конечно, не принимайте это всерьез).

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