而不是每秒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);
感谢您的回应.我以前没有意义的数字结束了,但现在他们这样做.上述代码应该如下:
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其他地方.
解决方法
If I transfer 1381530 bytes in 17797601 nanoseconds,what is the data rate in those two measures?
0.0776字节/ ns.
首先,小心:
I’ve recently discovered that MB/s is technically equivalent to 8000 million bits/s
我从来没有听说过这个定义.
“MB / s”通常是“每秒兆字节”.这可以是两个定义之一,具体取决于你的问题:
>每秒100万字节(每秒800万位)(根据IEEE的定义)
> 1024 * 1024(1048576)字节每秒更常见的定义(8388608位/秒),在许多用途中通常都会出现.
在一些真正的极少数情况下,“MB / s”可能意味着“每秒兆比特”,但是每秒兆比特通常缩写为“Mbps”或“Mbits / s”.通常情况下,上下文可能会告诉您哪些是适当的:无线传输速度,以太网卡等通常以兆比特每秒为单位;互联网上的文件传输以每秒兆字节(或mebibyte,见下一段)来衡量.
IEEE已经提出计算机应该遵循SI前缀,并且使用“千字节”来表示历史上已经完成的10 ^ 3字节,而不是2 ^ 10字节. (并因此造成了一个兆字节实际使用的所有混淆).然而,在许多上下文中,10 ^ 3没有任何意义,所以引入了不同的“二进制”前缀,例如“Kibibyte”,它是缩写为KiB,始终表示1024字节.在你的情况下,它有“Mebibyte”或MiB(每秒,MiB / s),并且意味着1024 * 1024字节.
有关更多信息,请参阅Wikipedia article on the Megabyte.
(对于转换为bit / s,我假定为8位/字节)