数据存储单位换算:KB 与 KiB 到底差多少

最后更新:2026-09-14

买回来的硬盘标称 500 GB,装到系统里显示约 465 GB,这个差值的来源不是「厂家偷工减料」,而是两套单位体系被混用:十进制前缀与二进制前缀。理清这一点,容量换算与带宽换算的困惑都能一并解决。

一、两套体系:1000 与 1024

  • SI 十进制前缀:kB、MB、GB、TB,严格按 1000 进制。硬盘厂商、网络传输速率采用这一套;
  • IEC 二进制前缀:KiB、MiB、GiB、TiB,按 1024 进制。操作系统显示内存与磁盘占用时常用这一套;
  • 严格来说,1024 字节应写作 1 KiB 而不是 1 KB;但历史上 Windows 等系统一直用 KB 表示 1024 字节,导致同一个符号在不同语境含义不同。

二、常用换算关系

  • 1 KiB = 1024 B;1 MiB = 1024 KiB = 1,048,576 B;1 GiB = 1024 MiB ≈ 1.074×10 的 9 次方 B;
  • 1 TB(十进制)= 1,000,000,000,000 B ≈ 931.32 GiB;
  • 1 TiB(二进制)≈ 1.0995 TB(十进制);
  • 由此可得:硬盘容量在「操作系统视角」下的数值约为标称值的 93% 左右(TB 级)——500 GB 显示约 465 GiB 正是这个比例。

三、带宽单位差 8 倍

网络速率用的单位是 bit(位),而文件大小用的是 byte(字节),1 字节等于 8 位。所以「100 Mbps 的带宽理论最大下载速度是 12.5 MB/s」——这中间恰好差 8 倍,而不是 1000 倍。

把这两条合起来看:100 Mbps 带宽下的理论峰值约为 11.9 MiB/s(因为 12.5 MB/s 还要再按 1024 折算成 MiB)。实际速度还要扣掉协议开销与网络波动,能达到峰值的八成已属良好。

四、容易踩的四个坑

  • 用 MB 表示 MiB:报表与界面混用两套单位,数字看起来差 7%,容易被当成统计误差而长期存在;
  • 把带宽当文件大小算:把 Mbps 直接当成 MB/s 使用,会得到乐观 8 倍的估计;
  • 整数截断造成「少一点」:按整数向上取整显示剩余空间,会掩盖真实余量,容量告警要么迟迟不报、要么突然报满;
  • 单位换行与本地化:同一界面同时出现 GB 与 GiB、TB 与 TiB,用户会把两者当成同义,换算结果因此被反复质疑。

五、工程上的建议

  • 存储与计算统一用字节作为内部单位,只在展示层做换算;
  • 界面明确标注使用哪套前缀:要么全用十进制标注 GB,要么全用二进制标注 GiB,不要混用;
  • 容量比较与阈值判断一律在字节层面完成,避免在换算之后再比较;
  • 把换算写成公共函数(含舍入规则),不要在多处各写一遍。

六、工具与延伸

存储单位与长度、重量、面积、体积、温度等单位换算可用 在线单位换算工具,它包含存储换算并区分两套前缀。颜色与显示相关的单位问题见《HEX、RGB、HSL 颜色格式指南》。