数据存储单位换算: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 颜色格式指南》。