为什么你的1TB硬盘显示931GB

最后审核:2026-07-29

没有东西丢失

插入一个标有"1TB"的硬盘,大多数操作系统会报告约931GB。容量并未实际消失。硬盘所包含的内容与标签上说的完全一致,"缺失"的69GB完全是由于kilo-、mega-、giga-和tera-前缀的两个不同定义被应用于相同的物理字节数而产生的。

两个前缀系统,相同的名称,不同的含义

十进制(SI风格)数值二进制(IEC)数值
千字节(kB)1,000字节(103千字节(KiB)1,024字节(210
兆字节(MB)1,000,000字节(106兆字节(MiB)1,048,576字节(220
吉字节(GB)1,000,000,000字节(109吉字节(GiB)1,073,741,824字节(230
太字节(TB)1,000,000,000,000字节(1012太字节(TiB)1,099,511,627,776字节(240

存储制造商使用十进制列,他们这样做已有很长时间,早在这个区别有独立名称之前就开始了,因为这使营销容量成为一个整数,并与其他每个行业使用"kilo"和"mega"的方式相匹配。一个标有1TB的硬盘真实地包含1,000,000,000,000字节。

精确的算术

使用二进制除法计算"GB"的操作系统(仍然是Windows文件浏览器的默认行为)取硬盘的真实字节数并用1,024的幂进行除法,同时继续打印"GB"标签而不是正确的"GiB":

1×1012字节÷230字节/GiB=1,000,000,000,000÷1,073,741,824=931.32…GiB

那个数字931.32是二进制除法OS显示的结果,误标为"GB"。在格式或开销中没有损失任何东西。这是相同的1,000,000,000,000字节,用比制造商使用的更大的除数除以,并被赋予了结果的错误单位名称。

两名制系统的起源

这种模糊很久远。从计算机的早期开始,"千字节"就被宽松地用于1,000和1,024字节两种情况,因为210(1,024)足够接近103(1,000),以至于这种不严谨在小规模上很少造成问题。一旦容量达到吉字节范围(两个定义相差7.4%)和太字节范围(相差近10%),这种做法就不再无害了。1998年12月,国际电工委员会批准了IEC 60027-2的修正案2,引入了二进制前缀kibi-、mebi-、gibi-和tebi-,专门用于通过为二进制数量提供自己的明确名称来结束这种模糊,让kilo-、mega-和giga-严格表示1,000的幂,就像它们在测量学中其他地方一样。该标准后来被纳入IEC 80000-13(2008年),这是国际数量体系覆盖信息科学和技术的部分,仍然是两套前缀的现行权威。

采用是可选的,这一点很明显

标准机构可以定义正确的名称;他们无法强制操作系统使用它们。Apple在2009年通过Mac OS X 10.6"Snow Leopard"将macOS切换到基于十进制的报告——一个1TB硬盘在Finder中显示为"1TB",与制造商的标签相匹配,因为Finder现在用1,000的幂进行除法。Windows从未进行过相应的切换:文件浏览器仍然用1,024的幂进行除法,同时打印"GB"标签,这就是为什么同一个物理硬盘在不同的操作系统上插入时显示不同的数字。Linux在工具级别上不一致,而不是通过设计——许多命令行实用程序(如ls -lh和不带--si标志的du -h)默认进行二进制除法,而几个桌面文件管理器默认为十进制,标签正确。

内存是二进制不仅仅是标签选择的唯一地方

存储容量是一个制造决定;原则上,驱动器控制器可以被设计为暴露任何字节数。内存容量不是这样的:内存芯片使用二进制地址线进行物理寻址,所以芯片的容量在架构上是2的幂。一个"8GB"内存模块真实地包含8×1,073,741,824=8,589,934,592字节,按正确的名称是8GiB,而一个"8GB"闪存驱动器包含8×1,000,000,000=8,000,000,000字节。相同的打印标签,两个不同的物理数量,原因也不同:一个是硬件约束,另一个是制造商选择的单位约定。

网络速度用比特,不是字节

还有一个前缀陷阱与这个相邻:网络速度以比特/秒为单位报价,文件大小以字节为单位。由于一个字节是8比特,一个宣传的1Gbps连接在协议开销前的文件传输中限制在约125MB/s,而不是1,000MB/s,也不是1GB/s。将宣传的链接速度除以8来估计真实的文件传输吞吐量解决了"连接很快"和"下载感觉很慢"之间的大部分混淆。

唯一没有始终使用任何一种定义的格式

3.5英寸"1.44MB"软盘是个异常,它是一个真正有启发意义的案例,而不是一个脚注。它的实际格式化容量是1,474,560字节。这个数字既不是1.44×1,000,000(1,440,000,十进制读法),也不是1.44×1,048,576(1,509,949,二进制读法)。它是1.44×1,024×1,000:一个混合体,其中"kilo"被读作二进制1,024,与内存和磁盘扇区实际寻址的方式相匹配,但"mega"随后被读作该已二进制化千字节的十进制1,000倍。IEC二进制约定和纯SI十进制约定都不能描述它;该格式早于1998年的标准化工作和随后出现的多吉字节硬盘的营销压力,它附带的单位定义不能让任何人完全满意。

快速检查任何宣传大小的方法

如果一个数字被用来描述硬件容量,你可以在二进制单位中物理地计数,比如内存或闪存芯片的管芯大小,期望它是2的整数幂,因此无论使用哪个前缀系统,它都是相同的。如果它描述的是制造或配置为圆形十进制目标的东西,存储硬盘、云存储层级、带宽限额,期望"缺失"的百分比会在操作系统用二进制除法的错误标签单位向你报告时显示出来。

另请参阅:方法论编辑政策——本站的换算系数如何获取来源并接受审核。