Представление килограмма / мега / тера байта - PullRequest
5 голосов
/ 29 июня 2011

Я немного запутался с представлением различных единиц байтов.

Допустимо, что этот 1 байт = 8 бит.

Однако во многих источниках я видел, что

1 килобайт = 2 ^ 10 байт.= 1024 байта

И

1 килобайт = 1000 байтов

Разве это не противоречит как в обоихВ случаях, когда указано, что 1 байт равен 8 битам ...?

Различные источники заявляют о разных причинах этих разных представлений, поэтому я не уверен, какова самая важная / реальная причина этой довольно запутанной разницы в представлении,

Может кто-нибудь объяснить и уточнить?

Ответы [ 3 ]

8 голосов
/ 10 августа 2011

Допустимо, что этот 1 байт = 8 бит

Однако во многих источниках я видел, что

1 килобайт = 2 ^ 10 байтов = 1024 байта

AND

1 килобайт = 1000 байт

Чтобы убедиться, что мы все ясно, ваш вопрос: "Является ли килобайт равным 1024 байта или 1000 байтов?".

Разве это не противоречит, поскольку в обоих случаях указывается, что 1 байт равен 8 битам ...?

Это не имеет отношения к вопросу.

Итак, начнем.В СИ (метрическая система) множитель 1000 называется килограммом, сокращенно k.k всегда означает 1000, больше ничего.

Когда бинарные компьютеры вошли в мир, мы заметили, что от 2 до 10 - 1024, что удобно близко к 1000. Компьютерные инженеры решилизлоупотреблять этим совпадением и говорить, что килограмм означает 1024. По сути, они говорят, что мега означает 1024 2 (вместо правильного определения 1000 2 ), и так далее с гига,тера и т. д.

Хотя разница между 1000 и 1024 невелика для многих целей, бывают случаи, когда требуются точные ответы, и именно здесь ненормативная терминология наносит вред всем.Только спустя десятилетия после того, как был установлен килограмм, кто-то действительно попытался решить проблему.МЭК предложила новые префиксы для двоичных множителей: 1024 = киби, 1024 2 = меби, 1024 3 = гиби и т. Д.

В итоге, понятие, чтоКило = 1024 является оскорбительным отклонением от согласованного определения СИ Кило = 1000.Хотя килограмм = 1024 популярен в компьютерной индустрии, он, тем не менее, ошибочен и должен быть заменен на kibi = 1024.Или числа должны быть пересчитаны, чтобы отразить истинное определение килограмма / мега / и т. Д.(Например, «512 МБ» ОЗУ на самом деле составляет около 536,9 МБ.)

Кстати, не используйте случайную капитализацию;записано килобайт, а не килобайт.

Ссылки и ссылки:

0 голосов
/ 29 июня 2011

Когда вы говорите о данных в области компьютерных наук, вы всегда должны вычислять результат с точностью до двух. Посмотрите, что википедия говорит:

"В вычислениях двоичный префикс является спецификатор или мнемоника, которая приурочен к единицам цифрового информация, бит и байт, чтобы указывают умножение на степень 2. На практике используемые полномочия кратны 10, поэтому префиксы обозначают степени 1024 = 2 ^ 10. "

Иногда люди используют его для округления, как вы упоминали, но это плохое использование.

0 голосов
/ 29 июня 2011

Я не вижу, какое отношение имеет бит к битам, если вы спрашиваете, равен ли 1 килобайт 1024 или 1000 байтов. Эти измерения не установлены в камне и не контролируются вообще. Производители компьютеров могут (и должны) использовать преобразование 1000, чтобы создать впечатление, что у них больше памяти.

Проблема возникает, когда вы думаете о двоичном (основание 2) или основании 10. Основание 10 вы бы использовали 1000, основание 2, 1024.

...