主题
1TB 硬盘为什么只显示 931GB
买了 1TB 的硬盘,插上电脑一看只有 931GB。第一反应通常是被坑了——其实两个数字都是对的,它们只是在用两套不同的进制。

打开「单位换算」看到的初始界面。在浏览器本地完成、数据不离开浏览器,免费。
两套进制
| 说法 | 每级倍数 | 谁在用 |
|---|---|---|
| GB / TB(十进制) | 1000 | 硬盘、U 盘、网络运营商 |
| GiB / TiB(二进制) | 1024 | Windows 资源管理器、多数操作系统内部 |
硬盘厂商标的 1TB 是 1,000,000,000,000 字节。Windows 拿到这个数,按 1024 一级往下换算:
1,000,000,000,000 ÷ 1024 ÷ 1024 ÷ 1024 = 931.32于是显示 931GB——它显示的其实是 931 GiB,只是标签写成了 GB。
差多少
每往上一级,两套进制的差距就拉开一点:
| 标称容量 | 系统实际显示 |
|---|---|
| 500GB | 466GB |
| 1TB | 931GB |
| 2TB | 1863GB |
| 4TB | 3725GB |
到 TB 这一级,差距是 9.95%。也就是说买 4TB 的盘,「少」掉的约等于 275GB——一整块老式硬盘的容量。这不是损耗,是换算。
同一块盘,Mac 和 Windows 显示的数字不一样
这一点常被忽略:macOS 从 OS X 10.6 起改用十进制显示容量,Windows 至今用二进制。
于是同一块 1TB 的移动硬盘,插 Mac 上显示约 1TB,插 Windows 上显示 931GB。两台电脑没有任何一台出错,只是一台跟着硬盘厂商的口径,另一台跟着操作系统的传统口径。
如果你在两个系统之间倒腾文件,看到容量数字对不上,先想想是不是这个原因,而不是文件丢了。
内存是个例外
同样叫「16G」,硬盘的 1TB 是十进制,内存条的 16GB 却真的是 16 GiB = 17,179,869,184 字节。
原因在硬件本身:内存按地址线寻址,容量天然是 2 的整数次幂,做成 16,000,000,000 字节反而是给自己找麻烦。硬盘是按扇区线性编址的,做成整十亿字节没有任何障碍,标称数字还更好看。
所以「内存标 16G 就有 16 GiB,硬盘标 1T 只有 0.93 TiB」不是厂商厚此薄彼,是两类硬件的物理结构不同。
顺带解释另外两件事
为什么 100M 宽带下载只有 12MB/s。 这里是另一个单位问题:宽带的 100M 是 100 Mbps,b 是 bit(位)不是 Byte(字节),1 字节 = 8 位。100 ÷ 8 = 12.5 MB/s,实际再打点折扣就是 12MB/s 上下。运营商没标错,只是 b 和 B 差 8 倍。
为什么新手机可用空间对不上。 除了上面的进制差,系统本身还要占几个 GB。128GB 的手机标称是 128 × 10⁹ 字节 ≈ 119 GiB,再扣掉系统,可用 110GB 左右属于正常。
怎么快速换算
需要在两套进制之间来回换的时候,单位换算 的「数据存储」分类里 GB 与 GiB 是分开的两个单位,不会混为一谈——选 TB 转 GiB 就直接得到 931.32。
顺带一提,这也是很多在线换算工具会出错的地方:把 GB 和 GiB 当成同一个单位,1TB 换算出来就是 1000GB,看着整齐,但和你电脑里显示的数字对不上,等于没解决问题。
十进制的 kB/MB/GB/TB 与二进制的 KiB/MiB/GiB/TiB 由 IEC 60027-2 标准区分。日常口语里两者都叫「G」「T」,写文档时用清楚的那一套更省事。