Подтвердить что ты не робот

Как рассчитать MB/s & MiB/s?

Недавно я обнаружил, что MB/s технически эквивалентен 8 миллионам бит/с и не 1024 ^ 2 бит в секунду, которые следует называть Mebibyte.

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

Если я переношу 1381530 байт в 17797601 наносекундах, какова скорость передачи данных в этих двух измерениях? и какова формула, которую вы используете для расчета?

В настоящее время у меня есть: где продолжительность в наносекундах.

double data_rate_MiBps = (num_bytes/1024/1000) / ((double)duration * 1e-9);
double data_rate_MBps = (num_bytes/1024/1024) / ((double)duration * 1e-9);

Спасибо за ответы. Я получал цифры, которые раньше не имели смысла, но теперь они это делают. Вышеприведенный код должен быть следующим:

double data_rate_MiBps = (num_bytes/1024.0/1000.0) / ((double)duration * 1e-9);
double data_rate_MBps = (num_bytes/1024.0/1024.0) / ((double)duration * 1e-9);

Поэтому я получаю:

74.085 MiB/s
75.863 MB/s

Что я думаю, имеет смысл.

Вероятно, лучший вопрос. Почему в первую очередь было 1024 байта, выбранных как 1KB вместо 1000. Так как Kilo (и т.д.) = 1000 везде.

4b9b3361

Ответ 1

Если я переношу 1381530 байт в 17797601 наносекундах, какова скорость передачи данных в этих двух измерениях?

0.0776 bytes/ns.

Во-первых, осторожно:

Недавно я обнаружил, что MB/s технически эквивалентен 8000 миллионов бит/с

Я никогда не слышал об этом определении.

"MB/s" обычно означает "мегабайты в секунду". Это может быть одно из двух определений, в зависимости от того, кого вы спрашиваете:

  • 1 миллион байт в секунду (8 миллионов бит в секунду) (в соответствии с определением IEEE)
  • Наиболее часто встречающееся определение 1024 * 1024 (1048576) байтов в секунду (8388608 бит в секунду), часто встречающееся во многих режимах использования.

В некоторых действительно очень редких случаях "МБ/с" может означать "мегабит в секунду", но мегабит в секунду обычно сокращается до "Мбит/с" или "Мбит/с". Контекст чаще всего подскажет вам, в чем уместно: скорость беспроводной передачи, карты Ethernet и т.д. Обычно измеряются в мегабит в секунду; передача файлов через Интернет измеряется в мегабайтах (или mebibyte, см. следующий параграф) в секунду.

IEEE предложила, чтобы компьютеры следовали префиксам SI и использовали "Kilobyte" для обозначения 10 ^ 3 байта, а не 2 ^ 10 байтов, что было сделано исторически. (И таким образом создавалась вся путаница, над которой фактически используется определение мегабайта). Однако во многих контекстах 10 ^ 3 мало смысла, поэтому были введены разные "бинарные" префиксы, такие как "Kibibyte", который сокращенный KiB и всегда означает 1024 байта. В вашем случае есть "Mebibyte" или MiB (и в секунду, MiB/s) и означает 1024 * 1024 байта.

Подробнее см. статью Википедии о мегабайте.

(Для преобразований в бит/с я принял 8 бит/байт.)

Ответ 2

см.

1 > Мегабайт в секунду

Мегабайт в секунду (MB/s или MBps) - это единица скорости передачи данных, равная:

1 000 000 байт в секунду,

2 > Мегабит в секунду

Мегабит в секунду (Мбит/с, Мбит/с или Мбит/с) - это единица скорости передачи данных, равная:

1,000,000 бит в секунду

3 > Мебибайт в секунду

Мебибайт в секунду (MiB/s или MiBps) - это единица скорости передачи данных, равная:

1,048,576 байт в секунду или

4 > Мебибит в секунду

Мебибит в секунду (Mibit/s или Mib/s) - это единица скорости передачи данных, равная:

1,048,576 бит в секунду или

см. Путаница с мегабайтами, 1 мегабайт - 1 миллион байт или 1024 * 1024 (1048576) байта?

Ответ 3

10 ^ 3 = Kilo

10 ^ 6 = Mega/Million

10 ^ 9 = Гига/Миллион

То, что вы должны были уже преподавать в школе. Но когда вы вычисляете байты, вычисления немного отличаются:

2 ^ 10 bytes = 1024 bytes = 1 Kilobyte

2 ^ 20 bytes = 1024 ^ 2 байта = 1 мегабайт

2 ^ 30 bytes = 1024 ^ 3 байта = 1 гигабайт

Конечно, никто не будет обвинять вас, если вы используете 10 ^ 6 байт как 1 мегабайт. HDD производит 10 ^ 9 байтов в 1 гигабайт.

Чтобы сделать вычисления недвусмысленными, MiB/s (или GiB/s) часто используется вместо MB/s (или GB/s) при обращении к байтам. Таким образом, 1 MiB/s на самом деле означает 1024 ^ 2 байта в секунду. Тем не менее, вы увидите много областей, где просто МБ используется для указания 1024 ^ 2 байта (например, Windows).

Теперь, до вас, как вы вычисляете MB/s. Если вы используете MiB/s, вы должны придерживаться соглашения и использовать 1024 ^ 2 вместо 10 ^ 6.

Ответ 4

Верно, что мега является префиксом SI, поэтому технически он должен относиться к 1 000 000 байт, в то время как префикс mebi должен ссылаться на 2 ^ 20.

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