反馈

KB/MB/GB 到底是 1000 进制还是 1024 进制

买一个"1TB"的硬盘,插到电脑上却发现只显示"931GB"——这不是奸商缺斤少两,而是硬盘厂商和操作系统用了两套不同的进制在计算"1TB"到底是多少字节。


目录

  1. 两套进制:1000 和 1024
  2. 为什么会有两套标准
  3. IEC 二进制单位:KiB、MiB、GiB
  4. 1TB 硬盘为什么显示 931GB
  5. bit 和 Byte:大小写 b 的区别

1. 两套进制:1000 和 1024

存储容量的单位换算,历史上一直存在两种算法:

  • 十进制(SI 单位):1 KB = 1000 Byte,1 MB = 1000 KB,逢 1000 进一——和"千米""千克"里的"千"是同一套十进制习惯
  • 二进制(计算机习惯):1 KB = 1024 Byte,1 MB = 1024 KB,逢 1024(2¹⁰)进一——因为计算机内部按二进制寄存和寻址,1024 是 2 的整数次幂,处理起来更自然

同样是"1 MB",按十进制算是 1,000,000 字节,按二进制算是 1,048,576 字节,两者相差约 4.86%,容量越大差距的绝对值越明显。

2. 为什么会有两套标准

早期操作系统和内存厂商习惯用 1024 进制(因为内存芯片容量天然是 2 的幂次),但存储设备(硬盘、U 盘)厂商为了和国际单位制(SI,"千"就是 1000)保持一致,同时也存在增大标称容量数字的现实动机,普遍采用 1000 进制来标注容量——这个历史分歧一直延续到今天,同一个前缀"K/M/G/T"在不同厂商、不同系统语境下实际代表的字节数可能不一样,混用的结果就是各种让人困惑的"容量缩水"投诉。

3. IEC 二进制单位:KiB、MiB、GiB

为了消除这种歧义,国际电工委员会(IEC)在 1998 年正式定义了一套专门表示 1024 进制的单位名称:KiB(kibibyte)、MiB(mebibyte)、GiB(gibibyte)……"i" 代表 binary(二进制),发音上是"kibi""mebi""gibi"。按 IEC 标准,KB(无 i)应该严格只代表 1000 进制的千字节,KiB 才代表 1024 进制的千字节——但这套区分在日常使用中普及得并不彻底,操作系统(比如 Windows 的"文件属性")经常把 1024 进制的数值标注成 KB/MB 而不是规范的 KiB/MiB,进一步加剧了混淆。

4. 1TB 硬盘为什么显示 931GB

硬盘厂商标注的"1TB",用的是十进制1TB = 1000 × 1000 × 1000 × 1000 字节 = 10¹² 字节。但操作系统显示容量时,通常按二进制计算并除以对应的 1024 次幂来得到"GB"数值:

10¹² 字节 ÷ 1024³ ≈ 931.3

所以操作系统显示的是"931GB"(严格来说应该标注为 931 GiB,但系统界面上通常仍写作 GB)。硬盘的实际物理容量没有任何缩水,字节数完全一致,差异纯粹来自"用哪套进制去换算显示单位"这个统计口径问题。

5. bit 和 Byte:大小写 b 的区别

除了进制混淆,另一个常见的误读是大小写 b:小写 b 通常表示 bit(比特,二进制的一位),大写 B 表示 Byte(字节,等于 8 bit)。网络带宽常用 Mbps(megabit per second,兆比特每秒),而文件下载速度显示常用 MB/s(megabyte per second,兆字节每秒)——同样的数字,100Mbps 的带宽实际下载速度理论上限大约是 100 ÷ 8 = 12.5 MB/s,这也是为什么运营商宣传的"百兆宽带"实际下载速度只有十几兆每秒,很多人因此误以为被"缺斤少两",其实只是 bit 和 Byte 的单位换算差了 8 倍。


在线工具:字节转换 · 带宽计算