这个计算器能做什么
这个工具能告诉你一次传输的真实速度有多快。只要输入传输的数据量和所花的时间,它就会按你选定的单位给出有效传输速度——可以是比特每秒(bps、kbps、Mbps、Gbps),也可以是字节每秒(B/s、kB/s、MB/s、GB/s)。它是一个通用的数据/计算单位换算工具,不涉及任何国家或地区的特殊规则,在哪里用结果都一样。
使用方法
先以小时、分钟、秒填写所用的时间(可任意组合)。接着输入数据大小并选择对应单位。然后分别为「输入数据大小」和「输出速度前缀」各选一个进制:「1000 字节」是硬盘厂商和网络行业常用的十进制(SI)约定;「1024 字节」则是操作系统通常采用的二进制约定。最后选择输出单位,即可读出速度。
公式详解
首先把时间换算成总秒数:hours*3600 + minutes*60 + seconds。再用 size * base_data^k 把数据大小换算成字节,其中 \(k\) 是前缀级数(B=0、kB=1、MB=2、GB=3、TB=4)。用字节数除以总秒数,就得到每秒字节数。如果需要比特速率,则再乘以 8(1 字节 = 8 比特)。最后按所选输出前缀级数 \(j\) 除以 base_speed^j 即可。
$$ S = \frac{m \cdot \text{Data Size} \cdot k_d^{\,u}}{T \cdot k_s^{\,j}} $$
$$ \text{where}\quad \left\{ \begin{aligned} T &= 3600\,\text{Hours} + 60\,\text{Minutes} + \text{Seconds} \\ k_d &= \text{Data kB base},\quad u = \text{Data unit index} \\ k_s &= \text{Speed kByte base},\quad j = \text{Speed prefix step} \\ m &= 8 \text{ (bit units)},\ 1 \text{ (byte units)} \end{aligned} \right. $$
实例演算
在 10 秒内传输 100 MB,使用十进制进制,输出单位为 kB/s:字节数 \(= 100 \times 1000^2 = 100{,}000{,}000\)。每秒字节数 \(= 10{,}000{,}000\)。换算成 kB/s(级数 1):$$ 10{,}000{,}000 \div 1000 = \mathbf{10{,}000 \text{ kB/s}} $$(即 10 MB/s)。若改选 Mbps,则得到 $$ 10{,}000{,}000 \times 8 \div 1000^2 = \mathbf{80 \text{ Mbps}} $$
常见问题
为什么我的 Mbps 数值是 MB/s 的 8 倍?因为 1 字节 = 8 比特。对于同一速度,比特速率单位(bps 系列)始终是字节速率单位(B/s 系列)的 8 倍。
该用 1000 还是 1024?网络和存储的宣传通常采用 1000(十进制),而操作系统往往按 1024(二进制)显示。两组单选按钮让你可以自由搭配——例如硬盘按十进制 GB 标称,却被采用二进制的操作系统读取。
如果时间填 0 会怎样?计算速度需要做除法,时间为 0 会导致除以零,因此计算器会要求你输入一个大于零的时间。