单位换算的坑:GiB 和 GB 到底差多少

生活与计算发布于 2026-10-31

买了一块 1TB 的硬盘,插上电脑显示 931GB。这不是短斤少两,是两个单位同名不同义。

1000 还是 1024

十进制(SI) 二进制(IEC) 倍数
KB KiB 1000 vs 1024
MB MiB 10⁶ vs 1024²
GB GiB 10⁹ vs 1024³
TB TiB 10¹² vs 1024⁴

硬盘厂商按 1000 算(1TB = 10¹² 字节),操作系统按 1024 算却仍然写「GB」。于是:

1,000,000,000,000 / 1024³ = 931.3 GiB

差 6.9%。这不是 bug,是命名习惯的历史遗留。

所以看到一个存储容量数字时,先问:它是按 1000 还是 1024 算的?

  • 网络带宽(100Mbps 宽带)永远是 1000 进制,而且单位是比特不是字节 —— 100Mbps ≈ 12.5MB/s
  • 内存(16GB)通常按 1024
  • 云服务商的对象存储按 1000

温度:唯一不能「乘个系数」的换算

长度、重量都是线性变换(y = kx),温度不是 —— 它有一个零点偏移:

°F = °C × 9/5 + 32
K  = °C + 273.15

漏掉 +32 或 +273.15,换算结果就整体偏了。这类错误在代码里很常见,因为写的时候觉得「换算不就是乘一下」。

还有一个容易忽略的:温度差的换算不需要偏移。从 10°C 升到 20°C,温差 10°C = 18°F,不是 50°F。涉及「升温多少度」时,只用比例系数。

盎司:重量还是容积

同一个词在两个体系里是两种量:

单位 类别 换算
盎司(oz) 重量 1 oz ≈ 28.35 g
液量盎司(fl oz,美制) 容积 1 fl oz ≈ 29.57 mL
液量盎司(fl oz,英制) 容积 1 fl oz ≈ 28.41 mL

美制和英制还在一堆单位上分家:加仑(3.785 L vs 4.546 L)、品脱、夸脱。看到英文配方里的「1 gallon」时,先确认是哪国的。

英制单位的隐形陷阱

  • 磅既是重量也是货币(£)。1 lb ≈ 453.6 g,但「5 pounds」在伦敦可能指 5 英镑
  • 英尺和英寸混写:5'11" 是 5 英尺 11 英寸,不是 5.11 英尺(那是 5 英尺 1.3 英寸)
  • 码(yard)在美式橄榄球和布料里都是 0.9144 m,但「一码布」的实际幅宽另有说法
  • 市制:中国的「斤」是 500 g,「两」是 50 g,和台湾、香港的斤不同(港斤约 605 g)

换算后保留几位

这取决于用途:

场景 建议
工程计算 保留原精度,最后一步再舍入
生活换算(菜谱、身高体重) 1~2 位小数
展示给用户 按有效数字,不按小数位

「1 英寸 = 2.54 厘米」是定义值,精确;「1 英里 = 1.609 公里」是近似(实际 1.609344)。连着换算多次时,近似值会累积误差 —— 比如英寸 → 厘米 → 米 → 英尺,来回几次就能差出几毫米。

需要批量换算时,单位换算覆盖长度、重量、面积、体积、温度、速度等常见类别,一次输入多单位同时出结果;要批量处理数字(补零、截断、加千分位),用数字处理;涉及二进制单位的(KiB / MiB),进制转换能直接看到 1024 的幂次。

一句话总结

换算错的三种典型原因:单位同名不同义(GB/GiB、oz/fl oz)、公式少了偏移(温度)、美制与英制混用(加仑)。 换算前先确认「这是哪套体系里的哪个量」,比记换算系数重要。