Como calcular MB/s & MiB/s?

Recentemente descobri que MB / s é tecnicamente equivalente a 8 milhões de bits / s e não 1024 ^ 2 bits por segundo que deve ser chamado de Mebibyte.

Isto deve ser fácil, mas quando comparo a saída de várias fontes obtenho respostas diferentes, mesmo do google que pensa que não há diferença entre as medidas.

Se eu transferir 1381530 bytes em 17797601 nanossegundos, Qual é a taxa de dados nessas duas medidas? e qual é a fórmula para a qual estás a usar calculá-lo?

actualmente tenho: onde a duração é em nanossegundos.

double data_rate_MiBps = (num_bytes/1024/1000) / ((double)duration * 1e-9);
double data_rate_MBps = (num_bytes/1024/1024) / ((double)duration * 1e-9);
Obrigado pelas respostas. Estava a acabar com números que não faziam sentido antes, mas agora fazem. O código acima deve ser o seguinte:

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);

por isso tenho:

74.085 MiB/s
75.863 MB/s
O que acho que faz sentido.

Provavelmente uma pergunta melhor. Por que em primeiro lugar foi 1024 bytes escolhidos para ser 1KB em vez de 1000. Desde Kilo (etc) = 1000 em todo o lado.

 12
c
Author: Matt, 2012-01-18

4 answers

Se eu transferir 1381530 bytes em 17797601 nanossegundos, Qual é a taxa de dados nessas duas medidas?

0, 0776 bytes / ns.

Primeiro, cuidado:

Descobri recentemente que MB / s é tecnicamente equivalente a 8000 milhões de bits / s

Nunca ouvi falar desta definição.

" MB/s "Normalmente significa "megabytes por segundo". Esta pode ser uma de duas definições, dependendo de quem você pergunta:

  • 1 milhões de bytes por segundo (8 milhões de bits por segundo) (segundo a definição do IEEE)
  • A definição mais comumente vista de 1024 * 1024 (1048576) bytes por segundo (8388608 bits por segundo), visto comumente em muitos usos.

Em alguns realmente raros casos, "MB/s" poderia significa "megabits por segundo", mas megabits por segundo é geralmente abreviado para "Mbps" ou "Mbits/s". O contexto mais frequentemente lhe indicará o que é apropriado: velocidades de transmissão sem fio, cartões ethernet, etc. são normalmente medidas em megabits por segundo; as transferências de ficheiros através da internet são medidas em megabytes (ou mebibyte, ver parágrafo seguinte) por segundo.

O IEEE propôs que os computadores devem seguir os prefixos SI, e usar "Kilobyte" para significar 10^3 bytes, não 2^10 bytes, o que tem sido feito historicamente. (E assim criou toda a confusão sobre qual definição de um megabyte está realmente usando.) No entanto, em muitos contextos, 10^3 faz pouco sentido, por isso diferentes prefixos " binários "foram introduzidos, como o" Kibibyte", que é abreviado KiB e Sempre significa 1024 bytes. No seu caso, existe "Mebibyte", ou MiB (e quando por segundo, MiB/s) e significa 1024*1024 bytes.

Veja o artigo da Wikipédia sobre o Megabyte para mais informações.

(para as conversões em bits/s, eu assumi 8 bits / byte.)

 15
Author: Thanatos, 2012-01-18 04:51:35

Ver

1> Megabyte por segundo

Um megabyte por segundo (MB/s ou MBps) é uma unidade de taxa de transferência de dados igual a:

1.000.000 bytes por segundo,

2> Megabit por segundo

Um megabit por segundo (Mbit/s, Mb/s, ou Mbps) é uma unidade de taxa de transferência de dados igual a:

1.000.000 bits por segundo

3>Mebibyte por segundo

Um mebibyte por segundo (MiB/s ou MiBps) é uma unidade de taxa de transferência de dados igual a:

1,048,576 bytes por segundo, ou

4>Mebibit por segundo

Um mebit por segundo (Mibit/s ou Mib/s) é uma unidade de taxa de transferência de dados igual a:

1,048,576 bits por segundo ou

Ver confusão com megabytes, 1 megabyte é 1 milhão de bytes ou 1024 * 1024 (1048576) bytes?

 9
Author: Jeegar Patel, 2012-01-29 06:20:01

10^3 = quilo

10^6 = Mega/Milhão

10^9 = Giga / Mil Milhões

Isso é o que já devias ter ensinado na escola. Mas quando você está calculando Bytes, os cálculos são ligeiramente diferentes:

2^10 bytes = 1024 bytes = 1 Kilobyte

2^20 bytes = 1024^2 bytes = 1 Megabyte

2^30 bytes = 1024^3 bytes = 1 Gigabyte

É claro que ninguém te vai culpar se usares 10 ^ 6 bytes como 1 Megabyte. Os fabricantes de HDD utilizam 10 ^ 9 bytes como 1 Gigabyte.

Para fazer cálculos inequívocos, MiB/s (ou GiB/s) é frequentemente usado em vez de MB/s (ou GB / s) quando se refere a bytes. Assim, 1 MiB / s significa realmente 1024^2 bytes por segundo. No entanto, você verá muitas áreas onde simplesmente MB é usado para indicar 1024^2 bytes (por exemplo, Windows).

Agora, cabe-lhe a si calcular MB/s. Se utilizar MiB/s, deve seguir A Convenção e utilizar 1024^2 em vez de 10^6.

 0
Author: Donotalo, 2012-01-18 04:37:00
{[[1]}é correcto que mega é uma unidade de Prefixo SI, por isso, tecnicamente, deve referir-se a 1 000 000 bytes, enquanto que o prefixo mebi deve referir-se a 2^20.

Os conversores on-line nem sempre seguem o padrão moderno já que até recentemente muitas pessoas, empresas de hardware e OSes confundem a definição de mega e a usam para o prefixo binário, por vezes inconsistente.

 0
Author: Lie Ryan, 2012-01-18 04:42:35