B を MB に変換

B
0.000001MB

1 B = 0.000001 MB

値を入力すると、バイトからメガバイトへの計算が入力に合わせてその場で進みます。1 B あたり 0.000001 MB.この比は測って求めたものではなく、定義で決まっています。計算はお使いの端末の中で行われ、入力した数字が通信に乗ることはありません。ただし、そのまわりのページのほうは、ほかのどのページとも同じように広告を読み込みます。

  • 処理される場所 ブラウザーの中です。入力した数値がリクエストに含まれることはありません。
  • 定義として厳密 1Bはちょうど0.000001MBです。丸めた係数ではなく、定義です。
  • 入力と同時に答えが出ます ボタンも待ち時間もありません。計算例はスクリプトが動く前からページに載っています。

バイトからメガバイトへ — 実際のところ

  • 5000000 B is 5 MB

    — スマートフォンで撮った写真 1 枚.

  • 1024 B is 0.001024 MB

    — 1 キビバイト、ややこしさはここから始まる.

  • 5000000 B is 5 MB

    — そこそこのビットレートの曲 1 曲.

  • 4000000000 B is 4000 MB

    — 標準的な画質の映画 1 本.

バイトからメガバイトへ — 要点

ここに並ぶ数値は、上の計算機と同じ定義から計算しています。だから表が答えとずれることはありません。
BMB
10000.001
20000.002
50000.005
100000.01
500000.05
1000000.1
5000000.5
10000001

バイトとメガバイト

1 バイトは 8 ビットですが、いつもそう決まっていたわけではありません。初期の計算機は 6 ビット、7 ビット、9 ビットを使っていました。8 が勝ったのは、そこに 1 文字が収まり、しかもその数がきれいに半分ずつ割れるからです。

1 メガバイトは 100 万バイトです。記憶装置のメーカーは昔から十進で数えてきました。だからその数字は、コンピューターが表示する数より大きく見えます。

ここで動くのは小数点だけです

バイトからメガバイトへ移ると、小数点が左へ 6 桁ずれます。ほかには何も変わりません。覚えておく倍率もなければ、丸め方を決める必要もありません。数字は同じ並びのまま、位置だけが動きます。

1,234 B は 0.001234 MB——同じ数字が、ずれただけです。ひと目で検算できる数少ない計算がこれです。結果の数字が始めたときの数字と違っていたら、それを変えたのはこの計算ではありません。

なぜ機械はまずバイトで返すのか

表示より下のすべての層が実際に数えているのはバイトです。書式指定なしのディレクトリー一覧、stat 呼び出しの st_size フィールド、Content-Length ヘッダー、オブジェクトストレージの一覧の size 属性、ログの行が持つ長さのフィールド。すべて整数のバイト数で、この分野で方言を持たない唯一の単位だからです。

API が 5242880 を返せば曖昧さのない事実を伝えていますが、「5.24 MB」を返せば注釈が必要な何かを伝えています。変換はあなたの仕事の最後にすべきことで、そうすることで正確な数字を必要なだけ長く手元に残せます。

小数点を 6 桁ずらすか、1,048,576 で割るか

このページは 1,000,000 で割ります。mega は 10 の 6 乗を意味する SI 接頭辞で、これはネットワーク標準、ストレージメーカー、あなたが読んでいるヘッダーを定義する仕様書が使う意味です。5,000,000 バイトは 5 MB、12,345,678 バイトは 12.35 MB です。覚える係数はなく、桁の位置が変わるだけです。

二進法での読み方は 1,048,576 で割り、メビバイトの数値を出します。5,000,000 バイトは 4.77 MiB、5,242,880 バイトは 5.00 MiB かつ 5.24 MB です。1 つのファイルに対する 2 つの答えは 4.9 パーセント違い、これは見落とされるほど小さく、宣言された上限と照合するときには効いてくるほど大きい差です。

どちらの割り算を使ったツールか見極める

一般的な Unix ツールは特に指定がなければ 1,024 の意味です。GNU の ls -h は 5,242,880 バイトを 5.0M と表示し、du と df は 1,024 バイトのブロックで報告します。すべてに十進法へ切り替えるフラグ、ls と du の --si があり、接尾辞も kB、MB、GB に変わります。

ブラウザーの開発者ツールやクラウドのコンソールはもっと一貫性がなく、確実な方法は、バイト数がすでに分かっているファイルで確かめることです。ちょうど 1,048,576 バイトのものを用意し、それを 1.0 MB と呼ぶツールは二進法、1.05 MB と呼ぶツールは十進法です。

Content-Length は回線上の値であってファイルの値ではない

HTTP レスポンスから取ったバイト数は、ディスク上のファイルより狭いものを測っています。Content-Length は転送される本文の長さで、サーバーが gzip や brotli を適用していれば圧縮後の長さです。HTML や CSS、JavaScript、JSON ではこれが元のサイズの 5 分の 1 から 3 分の 1 程度になることも普通です。

さらに 2 つの見落としがあります。応答ヘッダー自体はこの数字に含まれず、チャンク転送のレスポンスにはそもそも Content-Length がありません。ダウンロードしたファイルと配信されたファイルを比べるなら、展開後のディスク上のファイルどうし、あるいは圧縮どうしで比べてください。

ファイルの長さと占有容量は別の数字

stat 呼び出しはサイズに見える 2 つのフィールドを返し、それぞれ違う問いに答えます。ファイルの長さと、割り当てられたブロック数です。4,096 バイトのブロックを持つファイルシステムでは、1,000 バイトのファイルは長さ 1,000 で占有量 4,096 になります。

ディレクトリー内に小さなファイルが数万個あると、長さの合計より占有容量がずっと大きくなることがあり、これがディスクの空きが内容物より少ない理由の典型です。逆にスパースファイルは長さより少ない容量しか占有しません。変換すべきバイト数はどちらなのか、注記が要ります。

メガバイトの数字が役立つ場面

変換されたサイズは判断のためのもので、計算のためのものではありません。4 MB は携帯の写真、5 MB は良い音質の音楽トラック、25 MB は多くのメールサービスが受け付ける上限あたり、100 MB は多くのアップロードフォームが拒否し始める大きさです。4,187,593 バイトを「約 4 MB」に変えることが、この変換の目的そのものです。

メガバイトの数字を再び計算に戻すのは避けてください。小数点 2 桁の MB を往復させると最大 5,000 バイトを失い、100 個のそうした数字から作った合計には見過ごせない誤差が乗ります。

正確なバイト数が要る場面

ダウンロードが完全に終わったか確認するにはバイト数を比べる必要があります。途切れたファイルは完全なファイルと同じメガバイトの数字に丸められてしまうことがよくあるからです。アセットの 2 つのビルドを比べる、重複を検出する、チェックサムと長さを突き合わせる、マニフェストの差分を取る——どれも整数が欲しい場面です。

はっきりした境界がある場合も同様です。フィールドの上限、リクエストサイズの上限、メモリー確保の上限はすべてバイト単位で定義され、バイト単位で強制されます。数字について考えるならメガバイトに変換し、行動を起こすならバイトに戻してください。

B を MB に変換:よくある質問

1 B は何 MB ですか。

1 B は 0.000001 MB.画面に出しているのは有効数字 12 桁までです。バイトとメガバイトの比そのものは定義によって決まっている厳密な値で、丸めが入るのは表示のところだけです。

入力した値はどこかへ送られますか。

いいえ。計算はブラウザーの中で行われます。通信を切ったままでも計算は続けられますし、それがいちばん手軽な確かめ方でもあります。

買ったディスクの容量が、書いてある数より少なく表示されるのはなぜですか。

同じ名前の単位が 2 つ動いているからです。メーカーは 1 GB を 1,000,000,000 バイト(10 億バイト)として数えます。一方 Windows が表示しているのはギビバイト、つまり 1,073,741,824 バイトで、それを「GB」と呼んでいます。同じディスクが 7 パーセントほど小さく見えるのはこのためです。消えたものは何もありません。

逆方向:メガバイトからバイトへ

1MBは1000000Bです。同じ関係を逆から読んだだけなので、一方のページの答えをもう一方に通せば、必ず元の値に戻ります。

この数値の出典

このページがデータ量の単位について述べていることは検証できます。根拠となる資料は次のとおりです。

このページの仕組み

係数はページ内の定数で、計算は四則演算だけです。だからどこにも送信されませんし、送信する必要もありません。入力した数値はブラウザーから出ません。運ぶためのリクエストが存在しないからです。