使用方法
第一步,在「数值」框填数据量数字。默认填 1,允许区间 0~1000000000,支持任意小数位。单位不写进框里,由右边两个下拉决定,填「1MiB」这种带字母的写法会被拒绝并给出提示。
第二步,在「从单位」选手上的单位,在「到单位」选目标单位。下拉里同时有 1024 进制的 KiB、MiB、GiB、TiB 和 1000 进制的千字节、兆字节、吉字节、太字节、拍字节,还有字节与比特;本页默认是从 MiB 到字节。
第三步,点「换算」按钮,或者直接在数值框里裸按 Enter,结果区立刻刷新成「数值 原单位 = 结果 目标单位」这一行,下面提示行同步给出同一句话,方便读屏软件播报。
点「载入示例」把三个输入一次性还原成默认值;点「复制结果」把换算式和结果一起放进剪贴板。对照表下方的「导出对照表 CSV」下载带 UTF-8 BOM 的表格,用 Excel 打开中文不会乱码;「复制对照表」按 TSV 复制,可以直接粘进任意表格软件。
改完下拉后结果会自动重算,输入过程中每敲一个字符也会刷新一次。想确认数值有没有被接受,看红色提示区是否出现报错文字即可。
这个工具能解决什么问题
第一,把两套前缀的分歧摆到台面上。硬盘厂商按 1000 进制标容量,操作系统按 1024 进制显示,于是标称 1 TB 的盘在 Windows 里只有约 0.909 TiB(也就是 931 GiB)。很多人以为容量被吃掉了,其实只是两套口径。本页把 KiB、MiB、GiB、TiB 与千字节、兆字节、吉字节、太字节放在同一张表里,任选一对立刻看到差值。
第二,避免在容量规划上算错量级。内存、显存、JVM 堆、容器配额常用 MiB 与 GiB,而云厂商账单、对象存储计费常用 GB 与 TB。把 1048576 记成 1000000,单看一次只差 4.86%,但折算成月度账单或者上百台机器的内存预留,就是实打实的缺口。
第三,把带宽口径和存储口径接起来。运营商说的 100 Mbps 是每秒一亿比特,换成字节要除以 8,再换成 MiB 才是下载工具里显示的数字。本页内置比特与字节,一步算完,不必在心里连除两次。
本页不做这些事:不换算传输时间(那需要额外知道链路开销与并发数);不处理压缩比与去重率;不判断某个厂商的标称是否合规。它只回答「一个数据量从某单位换成另一单位是多少」。
换算原理与变量说明
核心是一张相对基准单位的因子表。本页以字节为数据基准,每个单位给一个因子 f,含义是「1 个该单位等于多少字节」:字节 f=1,比特 f=0.125,KiB f=1024,MiB f=1048576,GiB f=1073741824,TiB f=1099511627776,千字节 f=1000,兆字节 f=1000000,吉字节 f=1e9,太字节 f=1e12,拍字节 f=1e15。换算式统一写成 out = in × f[from] ÷ f[to]。
两套前缀从哪来。国际单位制的前缀 k、M、G、T 一律是 1000 进制;而计算机内存天然按 2 的幂组织,早年人们图省事把 1024 也叫「千」,于是同一个 MB 有了两种含义。1998 年 IEC 给 1024 进制另起了一套名字:KiB、MiB、GiB、TiB,中间的 i 就是 binary 的标记。所以严格说,1 MiB = 1048576 字节,1 MB = 1000000 字节,谁也不是谁的错误版本,只是进制不同。
差值随级别放大,这是最容易踩的坑。1 KiB 比 1 千字节多 2.4%,1 MiB 比 1 兆字节多 4.86%,1 GiB 比 1 吉字节多 7.37%,1 TiB 比 1 太字节多 9.95%。每上一级,两种口径的差距就扩大约 2.4 个百分点。所以「差一点点无所谓」只在 KiB 这一层成立,到了 TiB 已经接近 10%。
Windows 为什么看起来「标错了」。一个 1048576 字节的文件,Windows 资源管理器显示「1.00 MB」,实际用的是 1024 进制,正确写法应该是 1.00 MiB;而 macOS 与多数 Linux 发行版已改用 1000 进制,同一文件显示 1.0 MB 时指的是 1000000 字节。同一个文件在两个系统里显示的数值不一样,根源就在这一层标签。
浮点误差在这里几乎为零。1024 的各次幂都是 2 的整数次幂,2 的 40 次方远小于双精度能精确表达的 2 的 53 次方上限,因此纯二进制前缀之间的换算在浮点下不产生任何误差;误差只会出现在跨到十进制前缀的那一步除法上,量级约 1e-16,远小于第 10 位有效数字。
「MiB转字节」只是这条换算核在 MiB 与字节这一对上的实例化。因子表对全部单位对称可用,因此反查 1 字节 = 9.536743164e-07 MiB 不必另写公式,把两个下拉对调就是同一个除法。
完整示例(默认输入实测)
示例条件与页面默认值完全一致:数值 1、从「MiB」到「字节」。逐项核对——取因子 f[MiB] = 1048576、f[字节] = 1;代入 out = 1 × 1048576 ÷ 1,得 1048576;结果区显示「1 MiB = 1048576 字节」。这个数字来自 1024 × 1024,是精确整数而非近似。
换几个数值验证倍率,输出严格跟着输入线性变化:
- 输入 0.5 MiB:0.5 × 1048576 = 524288 字节;
- 输入 10 MiB:10 × 1048576 = 10485760 字节;
- 输入 512 MiB:512 × 1048576 = 536870912 字节;
- 输入 1024 MiB:1024 × 1048576 = 1073741824 字节,也就是 1 GiB。
再换单位交叉验证:从 MiB 到 KiB,f[KiB] = 1024,out = 1048576 ÷ 1024 = 1024;从 MiB 到兆字节,f[兆字节] = 1000000,out = 1048576 ÷ 1000000 = 1.048576,正好是两套进制在 MiB 这一层的比值。三处数字彼此闭环。
反向同样成立:已知 1073741824 字节,把两个下拉对调后输入该值,得到 1024 MiB,与上面第四个例子严丝合缝。正反向共用一条除法,是这个页面最值得放心的地方。
对照表
下表以「1 个原单位」为基准给出换算结果,共 10 行,全部直接显示。数值全部由上面的因子表推导,不是单独抄来的经验值,因此和计算器算出的结果同源。
前 6 行是 1 MiB 分别等于多少比特、千字节、兆字节、吉字节、太字节、拍字节,其中千字节到拍字节都是 1000 进制;随后 3 行是 1 MiB 等于多少 KiB、GiB、TiB,属于 1024 进制;最后一行是反查用的 1 字节 = 9.536743164e-07 MiB。
把这张表当速查手册:想知道 8 GiB 内存是多少 MiB,把第三列的 GiB 行反过来读即可;想知道标称 1 TB 在 1024 进制下剩多少,直接在上方可选「太字节」到「TiB」。表里没有列出的组合,用上方计算器任选两个单位都能算出来。
需要提醒:对照表描述的是单位与单位之间的固定比例,与你上方填的具体数值无关;你自己的实算结果请以上方结果区为准。
结果边界与舍入
- 输入范围。「数值」允许 0~1000000000。空值、非数字、负数、超出上限四种情况都会弹出具体中文提示,写明出问题的字段和允许区间,不会静默当成 0,也不会给出看起来正常的错误答案。
- 两个单位相同。若「从单位」和「到单位」选了同一个,结果恒等于输入值。页面照常算出结果,同时在提示行写明「源单位与目标单位相同,结果恒等于输入值,请改选目标单位」,把它当作提醒而不是错误。
- 数字格式化。结果保留 10 位有效数字:绝对值大于等于 1 时按有效数字取位再去掉多余零;绝对值小于 1 时先取 15 位小数再去尾零;只有小于 1e-12 或大于等于 1e15 才改用科学计数法。所以 1048576 不会被写成 1.048576e+6,0.0009765625 也不会被压成 0.0009766。
- 极大数值。拍字节 f=1e15,一旦结果达到 1e15 以上会自动切换科学计数法,避免拉出一长串难以核对的整数;常规区间仍旧按定点小数显示。
- 浮点误差的量级。1024 的各次幂在双精度下可精确表示,跨到 1000 进制的那一步除法误差约 1e-16,比第 10 位有效数字小六个数量级,显示出来的每一位都可信。
- 全程本地。换算只在当前浏览器里做,不发起网络请求,不写 Cookie 和 localStorage,关掉页面什么都不剩。
常见问题
MiB 和 MB 到底差多少?
1 MiB = 1048576 字节,1 MB = 1000000 字节,比值 1.048576,MiB 比 MB 多 4.86%。级别越高差距越大:GiB 比 GB 多 7.37%,TiB 比 TB 多 9.95%。
为什么 Windows 显示 1 MB 却是 1048576 字节?
Windows 用的是 1024 进制,只是沿用了 MB 这个旧标签,严格写法应为 1.00 MiB。macOS 与多数 Linux 发行版已改成 1000 进制,所以同一文件在不同系统里显示的数值会不一样。
新买的 1 TB 硬盘为什么只有 931 GB?
厂商的 1 TB 是 1e12 字节,系统按 1024 进制换算成 931.3225746 GiB,也就是约 0.909 TiB。容量一字节没少,只是两套进制的标签不同,用本页选「太字节」到「TiB」即可验证。
字节换回 MiB 怎么算?
用同一条公式:out = in × f[字节] ÷ f[MiB] = in ÷ 1048576。例如 1048576 字节换回来正好是 1 MiB,把两个下拉对调即可直接验证。
KiB 和千字节能直接换吗?
能。1 KiB = 1024 字节,1 千字节 = 1000 字节,1 KiB = 1.024 千字节。下拉里两套单位并列,选哪一对都会按各自进制计算,不会互相污染。
100 Mbps 宽带相当于多少 MiB 每秒?
先除以 8 变成 12500000 字节每秒,再除以 1048576,约 11.92 MiB/s。注意运营商说的是比特,下载工具显示的是字节,两者差 8 倍,这是最常见的误算。
提示「超出上限」怎么办?
本页数值允许 0~1000000000。若把 10 亿错写成 100 亿,或粘贴进多余字符,会触发拒绝并提示具体边界;把数值调回区间内即可正常换算。
我的数据会被上传吗?
不会。所有换算只在当前浏览器本地执行,页面不发起网络请求,也不写 Cookie 或 localStorage。打开开发者工具的 Network 面板连点几次换算,记录始终是空的。