toolfree

数据容量换算

比特、字节、KB、MB、GB 与其二进位对应单位互相换算。说明为何 1 TB 硬盘只显示 931 GB。

在你的浏览器中运行

所有容量单位,一个页面

在上方任选两个单位即可。最常被查询的几组换算另有专页,附对照表,连结在下方。

有两套系统,而且会越差越远

这是本站唯一一个「同一个名字依说话者不同而代表两种数量」的类别。

十进位(SI)字节二进位(IEC)字节
KB(kB)1000KiB1024
MB1000²MiB1024²
GB1000³GiB1024³
TB1000⁴TiB1024⁴

差距是复利式累积的。在 KB 只差 2.4%,到 TB 就差了 10%:

十进位二进位差距
1 kB / 1 KiB100010242.4%
1 MB / 1 MiB1,000,0001,048,5764.9%
1 GB / 1 GiB1,000,000,0001,073,741,8247.4%
1 TB / 1 TiB10¹²1.0995 × 10¹²10.0%

为什么硬盘比盒子上写的小

硬盘厂商用的是十进位,而且正确且一致:标示 1 TB 的硬盘就是 1,000,000,000,000 个字节。 Windows 则以二进位计算容量,却沿用十进位的名称——它除以 1024 三到四次,然后印出 「GB」。结果就是一颗容量完全符合标示的硬盘,看起来少了 7%:

标示实际字节Windows 显示
500 GB500,000,000,000465 GB
1 TB1,000,000,000,000931 GB
2 TB2,000,000,000,0001.81 TB
4 TB4,000,000,000,0003.63 TB

什么都没有少。是两套系统同时被使用,而且共用同一组名称。macOS 自 2009 年起改以十进位 GB 显示,所以同一颗硬盘接上 Mac 会是另一个数字。见 GB 转 GiB

内存是反过来的

内存确实是二进位的。标示「8 GB」的内存模组实际是 8 GiB,也就是 8,589,934,592 个比特 组,因为内存定址建立在二的次方上,硬盘容量则否。所以业界的两半彼此不一致,而不只是与 自己的标签不一致:1 TB 的 SSD 是十进位,8 GB 的内存是二进位。

网络速率算的是比特,不是字节

标示「100M」的宽频是每秒 100 megabit,也就是每秒 12.5 megabyte。小写 b 是比特,大写 B 是字节,两者差 8 倍。

方案MbpsMB/s
100M10012.5
300M30037.5
500M50062.5
1G1000125

实际传输还会再低一些——通讯协定本身要占掉几个百分比——但那个 8 倍才是落差的主因。见 比特转字节

常见误解

kB、KB、KiB 是三种写法、两种数量。 SI 规定 kilo 字首是小写 k,所以 1000 字节是 kB。大写的 KB 两种都有人用。KiB 则明确是 1024。

MB 曾经有几十年就是 1,048,576 个字节,之后才被标准化为 1,000,000。旧文件与不少现 行软件指的仍是二进位的那个。IEC 在 1998 年引入 KiB、MiB、GiB 正是为了终结这个歧义,而 采用状况至今参差不齐。