バイトをメガバイトに変換する


103

バイトからメガバイトへの変換を行う3つの方法を見てきました。

  1. メガバイト=バイト/ 1000000
  2. メガバイト=バイト/ 1024/1024
  3. メガバイト=バイト/ 1024/1000

わかりました、#3は完全に間違っていると思いますが、見ました。#2は正しいと思いますが、どのメガバイトが真のメガバイトであるかを明確にするために、尊敬される機関(W3C、ISO、NISTなど)を探しています。この計算がどのように行われるかを明示的に説明している出典を誰かが引用できますか?

おまけの質問:#2がメガバイトの場合、#1と#3は何と呼ばれますか?

ちなみに、ハードドライブのメーカーは、これについての当局として数えられていません!


3
ハードドライブの製造業者、センス1を意味するメガバイトの使用がその変換の受け入れを促進している限り、これについての権限として数えます。ただし、Microsoft OSはまだセンス#2を使用しています。
Michael Petrotta

3
#3 フロッピーメガバイトと呼ばれるべきです。3½インチのフロッピーはこれを使用するのにかなり注目に値しました(そして、私は他のどこかで見たのを覚えていません)。
Michael Madsen

15
そして義務:xkcd.com/394
Seva Alekseyev

4
ああ男。これとテキストエンコーディングの間で、最も基本的なものに複雑なねじれを追加するという私たちの間違いのない能力に絶望することがあります。
ポールD.ウェイト2010年

4
ハードドライブの製造元は、最も高い数値を取得するために#1を使用する可能性があります。GBの場合は7%、TBの場合は10%です。
Peter Mortensen、

回答:


115

従来、メガバイトとは、2番目のオプションを意味します-1メガバイト= 2 20バイト。しかし、それはメガ手段1 000 000 2つのための新しい標準の名前がありますので、実際には正しくない20バイトが、それはメビバイトがある(http://en.wikipedia.org/wiki/Mebibyte)と、それが人気を集めます。


10
多くの人気を集めているという含意を除いて、私はこれらすべてに同意します。1024 = Kと友達のマインドシェアは事実上無敵です。人々に「ハッカー」ではなく「クラッカー」と言い始めたら、私に戻ってください。
TED

5
異端的な「メビバイト」の言及に反対投票するつもりはありませんが、多大な労力を費やしています。
aehiilrs

3
@TED:実際には、「クラッカー」を意味する「ハッカー」の使用は、マニアが好む使用法をオーバーライドするポピュラーカルチャーの完璧な例です。
Michael Petrotta

2
メビバイトが人気を集めているのは私の個人的な感想でしたが、私は間違っているかもしれません。MiBとKiBで示されているかなり人気のあるダウンロードサイトのサイズを見ました。
Andrey

1
まあ、私はあなたに同意し、10ベースのメガと2ベースのキビとメビも使用します。これは、メートル法の使用に関するIEC規格です。これは最終的なものであり、それを無効にする必要はありません。
Zan Lynx

27

用語を区別するIEC標準があります。たとえば、Mebibyte = 1024 ^ 2バイトですが、Megabyte = 1000 ^ 2(k / M / ...が1000/1000000を意味するキログラムのようなSI単位と互換性を持たせるため)。実際、IT分野のほとんどの人はメガバイト= 1024 ^ 2を好み、ハードディスクメーカーはメガバイト= 1000 ^ 2を好みます(ハードディスクのサイズが実際よりも大きく聞こえるため)。

実際のところ、ほとんどの人はIEC規格(乗数1000)と従来の意味(乗数1024)で混乱しています。一般に、人々が何を意味するのかを推測するべきではありません。たとえば、乗算器1000は主に単位ビットで使用されるため、MP3の128 kBit / sは通常128000ビットを意味します。しかし、人々はしばしば2048 kBit / sを2 MBit / sと呼んでいます-混乱していますか?

したがって、原則として、ビット/バイト単位をまったく信頼しないでください;)


17

ところで:ハードドライブの製造業者は、これについての当局として数えられません!

ああ、そうです(そして、SIから彼らが仮定する定義は正しいものです)。関連する問題については、CodingHorrorに関するこの投稿を参照してください。


4
申し訳ありませんdownvoterは、しかしメガのその定義は、IS正しいもの、プログラマが何を考えてどんなに。私はM = 2 ^ 20で生活できますが、それは単に歴史的な理由によるものです。
フェデリコA.ランポーニ、2010年

HD企業とSIの熱狂的ファンが他のすべての人に対抗する立場を模索する+1
Jeffrey L Whitledge、2010年

11
Jeffreyに感謝します:)しかし、それはHD企業だけではありません。CPUは2600 MHzを実行します。あなたの数学プロセッサはXY Mフロップを実行します。イーサネットは100 Mbit / sを実行します。お使いのカメラは5メガピクセルです。Blu-rayの1倍速は36 Mbit / sです...これらすべての「M」は2 ^ 20ではなく10 ^ 6を表しています。
フェデリコA.ランポーニ、2010年

-1この答えに従うかどうかわかりません。どのハードドライブメーカー定義をしましたか?CodingHorrorはハードドライブを生産しないと思いますか?私は権威を探しています。ハードドライブの製造元は、客観的になるには偏りが大きすぎます。
User1

1
M = 10 ^ 6をサポートする「オーソリティ」は、国際ウェイトアンドメジャービューローです。私の知る限りでは、カスタム以外に「権限」はなく、M = 2 ^ 20をサポートしています。
フェデリコA.ランポーニ

16

除算2の電源に20(1024*1024)バイト= 1メガバイト

1024*1024 = 1,048,576   
2^20 = 1,048,576
1,048,576/1,048,576 = 1  

同じことです。



3

答えは、メガプレフィックスの実際の意味に基づいて#1は技術的に正しいということですが、実際には、そのための計算は、ベース2ではそれほどうまくいきません。 、それで#2は人々が実際に使用するものです。


2

ユーザーが期待する可能性が最も高い計算を使用します。ユーザーは、ディスク上またはメモリ上にある実際のバイト数などを知りたいのですか、それとも使用可能なスペースだけを気にしているのですか?その質問に対する答えは、どの計算が最も理にかなっているかを教えてくれます。

これは、使いやすさの問題ほど正確な問題ではありません。ユーザーにとって最も役立つ計算を提供します。


1

メガバイトは2 ^ 20バイトを意味します。技術的にはSI単位と一致しないこと、および2 ^ 20を意味する新しい用語を考案した人もいることは知っています。それは問題ではありません。物事を「明確にする」ために言語を変更する努力は失敗する運命にあります。

ハードドライブの製造元は、1,000,000バイトを意味するために使用しています。これは、SIでそれが意味するので、技術的には嘘ではない(実際は嘘をついている)ためです。それは嘘、いまいましい嘘、そしてマーケティングに分類されます。


0

一般に、バイナリデータのサイズを参照する場合、10進数のSI接頭辞(たとえば、キロ、メガ)を使用するのは間違っています(カジュアルな使用を除いて)。あいまいで混乱を引き起こします。正確には、バイナリプレフィックスを使用できます(例:1メビバイト= 1 MiB = 1024キビバイト= 2 ^ 20バイト)。他の誰かがバイナリデータに10進数のSI接頭辞を使用する場合、意味を知る前に詳細情報を入手する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.