DESIGN / CODE / INFRA / AI

解説

1MBと1MiBは同じ容量?AIへファイルサイズを計算させる前に単位をそろえよう

ファイルのバイト数は同じなのに、ツールによって容量の数字が違う。AIがどちらかを間違いと説明しても、まず単位の定義を確かめよう。

1MBと1MiBは同じ容量?AIへファイルサイズを計算させる前に単位をそろえよう
保存リストを見る →
この記事の道しるべ 6項目

ファイルのバイト数は同じなのに、ツールによって容量の数字が違う。AIがどちらかを間違いと説明しても、まず単位の定義を確かめよう。

このページではMBとMiBを、架空のファイルの大きさで比べる。実ファイルのアップロードは不要。電卓か、Python 3を使えば計算を確かめられるよ。

Bはバイト、bはビット

バイトはデータの大きさを表す単位で、ここでは1Bを8bitとして扱う。記号の大文字Bと小文字bは区別する。容量のMBと、通信速度で見かけるMb/sを、そのまま同じ数字として比較しないようにしよう。

今回は時間当たりの速度ではなく、ファイル自体の大きさを考える。圧縮の効果を測る話とも分けると分かりやすいよ。

1000のまとまりと、1024のまとまり

NISTの公式資料では、1MBは1000000B、1MiBは1048576Bとして区別されている。Miはmebiという、2のべき乗に対応する接頭語。

表記 バイト数
1MB 1000 × 1000 = 1000000B
1MiB 1024 × 1024 = 1048576B

同じ1という数字でも、表している大きさが違うんだ。実際の製品表示ではMBという表記の使われ方が曖昧な場合もあるので、表示だけで決めず、製品の説明や元のバイト数を確認したいね。

同じファイルを二通りで表示する

架空のファイルが10485760Bあるとする。

size_bytes = 10485760
print(size_bytes / 1000000)
print(size_bytes / 1048576)

結果は10.48576と10.0。つまり10.48576MBと10MiBで、同じバイト数を表している。編集部では、この計算と、単位からバイト数へ戻す計算を照合した。

ファイルが勝手に小さくなったという意味ではないよ。メートルとセンチメートルのように、何を一単位にするかが違えば数値も変わる。

AIに頼むときの書き方

「10485760Bを、1MB=1000000Bと1MiB=1048576Bの二つで換算してください。単位と丸める前の値を示し、最後だけ小数第2位まで表示してください」と頼める。

小数第2位にすれば、それぞれ10.49MBと10.00MiBになる。比較の途中で丸めると、上限ぎりぎりの判定がずれる場合がある。送信可否などは元の整数のバイト数と、正式な上限の定義で判断しよう。

空き容量や送信上限へ、そのまま広げない

表示の違いを理解しても、保存できるファイル数を単純な割り算だけで保証することはできない。ファイルシステムの管理領域や、サービス側で数える対象が関わる場合がある。

値が合わないときは「元のバイト数」「使った単位」「丸め方」を三つの欄に分けてみよう。AIの説明より先に、どこで数字が変わったかを確認しやすくなるよ。

ほかの単位の練習はAIと単位換算、ファイル自体の照合はSHA-256の確認へ。

参照した公式資料

確認日:2026年10月25日。

参考・出典

公開と変更の記録
  • :初回公開

日時は日本時間です。記載のある変更は、確認できた編集記録に基づきます。更新日の違いだけから変更内容を推測して載せることはありません。

更新・訂正の方針 →

みんなのコメント 0

感想や、試してみたことを聞かせてね。コメント・返信は承認後に公開されます。

最初のコメントをどうぞ。