127

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

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

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

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

ところで: ハード ドライブの製造元は、この件に関して当局としてカウントされません!

4

8 に答える 8

130

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

于 2010-03-02T17:13:36.260 に答える
31

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

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

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

于 2010-03-02T17:19:18.223 に答える
22

2の累乗で20割ります。(1024*1024)バイト =1メガバイト

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

それは同じことです。

于 2014-06-20T11:13:24.563 に答える
21

ところで:ハードドライブメーカーはこれの権威として数えません!

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

于 2010-03-02T21:46:35.443 に答える
4

答えは、メガ プレフィックスの本当の意味に基づいて技術的には #1 が正しいということですが (そして、人生には常にしかしあります)、コンピューターの数え方である基数 2 では、その数学はうまくいきません。 、したがって、#2は人々が実際に使用するものです。

于 2010-03-02T18:18:35.597 に答える
2

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

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

于 2010-03-02T17:49:27.857 に答える
1

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

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

于 2010-03-02T17:36:05.850 に答える
1

一般に、2 進数データのサイズを表すときに 10 進数の SI プレフィックス (キロ、メガなど) を使用するのは誤りです (カジュアルな使用法を除く)。曖昧で混乱を招きます。正確には、バイナリ プレフィックスを使用できます(例: 1 メビバイト = 1 MiB = 1024 キビバイト = 2^20 バイト)。他の誰かがバイナリ データに 10 進数の SI プレフィックスを使用している場合、その意味を知る前に、より多くの情報を取得する必要があります。

于 2018-05-03T16:57:44.260 に答える