如何计算MB/s和MiB/s?

Mat*_*att 13 c

我最近发现MB/s技术上相当于800万比特/秒而不是每秒1024 ^ 2比特,应该被称为Mebibyte.

这应该很简单,但是当比较各种来源的输出时,我会得到不同的答案,即使是谷歌认为这些措施之间没有任何区别.

如果我在17797601纳秒内传输1381530个字节,那么这两个度量的数据速率是多少?你用它来计算它的公式是什么?

目前我有:持续时间以纳秒为单位.

double data_rate_MiBps = (num_bytes/1024/1000) / ((double)duration * 1e-9);
double data_rate_MBps = (num_bytes/1024/1024) / ((double)duration * 1e-9);
Run Code Online (Sandbox Code Playgroud)

谢谢你的回复.我最终得到的数字之前没有任何意义,但现在他们做到了.上面的代码应该如下:

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);
Run Code Online (Sandbox Code Playgroud)

因此,我得到:

74.085 MiB/s
75.863 MB/s
Run Code Online (Sandbox Code Playgroud)

我认为这是有道理的.

可能是一个更好的问题.为什么首先选择1024字节为1KB而不是1000.由于Kilo(etc)= 1000其他地方.

Tha*_*tos 22

如果我在17797601纳秒内传输1381530个字节,那么这两个度量的数据速率是多少?

0.0776字节/ ns.

首先,小心:

我最近发现MB/s技术上相当于8000万比特/秒

我从来没有听说过这个定义.

"MB/s" 通常表示"每秒兆字节数".这可以是两个定义中的一个,具体取决于您的要求:

  • 每秒100万字节(每秒800万比特)(根据IEEE的定义)
  • 更常见的1024*1024(1048576)字节/秒(每秒8388608位)的定义,在许多用法中常见.

在一些非常罕见的情况下,"MB/s" 可能意味着"每秒兆比特",但每秒兆比特通常缩写为"Mbps"或"Mbits/s".上下文通常会在适当的情况下提示您:无线传输速度,以太网卡等通常以每秒兆比特为单位进行测量; 通过互联网进行的文件传输以每秒兆字节(或mebibyte,见下一段)来衡量.

IEEE已提出计算机应遵循SI前缀,并使用"Kilobyte"表示10 ^ 3字节,而不是2 ^ 10字节,这在历史上已经完成.(因而造成了对兆字节实际使用的定义的所有混淆.)然而,在许多情况下,10 ^ 3没有多大意义,因此引入了不同的"二进制"前缀,例如"Kibibyte",这是缩写为KiB,总是表示1024字节.在你的情况下,有"Mebibyte",或MiB(和每秒,MiB/s),意味着1024*1024字节.

有关更多信息,请参阅有关MegabyteWikipedia文章.

(对于转换为位/ s,我假设为8位/字节.)


Jee*_*tel 17

看到

1> 每秒兆字节

每秒兆字节(MB/s或MBps)是数据传输速率的单位,等于:

每秒1,000,000字节,

2> 每秒兆比特

每秒兆比特(Mbit/s,Mb/s或Mbps)是数据传输速率的单位,等于:

每秒1,000,000位

3>每秒Mebibyte

每秒mebibyte(MiB/s或MiBps)是数据传输速率的单位,等于:

每秒1,048,576字节,或

4>每秒Mebibit

每秒mebibit(Mibit/s或Mib/s)是数据传输速率的单位,等于:

每秒1,048,576位或

看到与兆字节混淆,1兆字节是1百万字节或1024*1024(1048576)字节?