字节单位转换
买硬盘时候的标称容量通常用 1000 进 1:
Factor | Value ( 1k = 1000 ) | Prefix ( name / symbol ) |
---|---|---|
(10^3)^1 | 1 000 | kilo / k |
(10^3)^2 | 1 000 000 | mega / M |
(10^3)^3 | 1 000 000 000 | giga / G |
(10^3)^4 | 1 000 000 000 000 | tera / T |
(10^3)^5 | 1 000 000 000 000 000 | peta / P |
(10^3)^6 | 1 000 000 000 000 000 000 | exa / E |
(10^3)^7 | 1 000 000 000 000 000 000 000 | zetta / Z |
(10^3)^8 | 1 000 000 000 000 000 000 000 000 | yotta / Y |
计算机显示的实际硬盘容量或者文件大小,通常用 1024 进 1:
Factor | Value ( 1k = 1024 ) | Prefix ( name / symbol ) |
---|---|---|
(2^10)^1 | 1 024 | kibi / Ki |
(2^10)^2 | 1 048 576 | mebi / Mi |
(2^10)^3 | 1 073 741 824 | gibi / Gi |
(2^10)^4 | 1 099 511 627 776 | tebi / Ti |
(2^10)^5 | 1 125 899 906 842 624 | pebi / Pi |
(2^10)^6 | 1 152 921 504 606 846 976 | exbi / Ei |
(2^10)^7 | 1 180 591 620 717 411 303 424 | zebi / Zi |
(2^10)^8 | 1 208 925 819 614 629 174 706 176 | yobi / Yi |
网络速度的计算方法:
- 1 Byte = 8 bit
- 1 M = 1000 K = 1000 * 1000
- 8 Mbps = 8 Mbit/s = ( 8 Mbit/s / 8 ) MB/s = 1 MB/s
需要注意的是,数据以 0 和 1 的形式在电路中被传输时,为了保持信号 DC 平衡,传输过程中不能有超过 5 个连续的 0 或 1。因此需要使用 8B/10B 算法将 1 字节对应的 8 个比特位编码成 10 个比特位来传输。也就是说,传输 1 字节的数据需要传输 10 个比特,而不是 8 个比特,损失了 20% 的带宽。这就导致了一些换算上的问题。
比如 SATA 3.0 ( SATA Revision 3.0 ) 的标称速率是 6 Gbit/s = 6 Gbit/s / 8 bit = 750 MB/s。将 8B/10B 算法导致的 20% 带宽损失考虑进去以后得到的速度是 750 MB/s * 0.8 = 600 MB/s。对质量比较好的 SATA3 固态进行测速可以得到 560 M/s 左右的读写速度,但没有任何 SATA3 硬盘能跑满标称速度。这是因为操作系统除了需要向硬盘传输真实数据之外,还需要传输一些控制信息,比如真实数据的 CRC 校验信息等,再加上一些延迟等因素带来的损耗,所以实际速率会低于标称速率。