MiB转字节

MiB(mebibyte)是 1024 进制的二进制数据单位,1 MiB = 1024 KiB = 1048576 字节;而常说的 MB 是 1000 进制的十进制单位,1 MB = 1000000 字节,两者相差 4.86%。把数值填进下面的框,选好「从单位」和「到单位」,结果区立刻给出换算值;默认示例是 1 MiB,打开页面就能看到「1 MiB = 1048576 字节」。

只填数字,单位由右侧下拉决定;允许区间 0~1000000000

提示:数值框裸按 Enter 立即换算;结果区带 role="alert",读屏软件会朗读本次结果。

数据单位对照表(1 个原单位等于多少目标单位)

数量原单位目标单位数值
1MiB比特8388608
1MiB千字节1048.576
1MiB兆字节1.048576
1MiB吉字节0.001048576
1MiB太字节1.048576e-06
1MiB拍字节1.048576e-09
1MiBKiB1024
1MiBGiB0.0009765625
1MiBTiB9.536743164e-07
1字节MiB9.536743164e-07

对照表是单位与单位之间的固定比例,不随上方输入变化;你自己的实算结果请以上方结果区为准。

使用方法

第一步,在「数值」框填数据量数字。默认填 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,是精确整数而非近似。

换几个数值验证倍率,输出严格跟着输入线性变化:

再换单位交叉验证:从 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」。表里没有列出的组合,用上方计算器任选两个单位都能算出来。

需要提醒:对照表描述的是单位与单位之间的固定比例,与你上方填的具体数值无关;你自己的实算结果请以上方结果区为准。

结果边界与舍入

常见问题

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 面板连点几次换算,记录始终是空的。

相关工具