Konvertieren von Bytes in Megabytes

103

Ich habe drei Möglichkeiten zur Konvertierung von Bytes in Megabytes gesehen:

  1. Megabyte = Bytes / 1000000
  2. Megabyte = Bytes / 1024/1024
  3. Megabyte = Bytes / 1024/1000

Ok, ich denke # 3 ist völlig falsch, aber ich habe es gesehen. Ich denke, # 2 ist richtig, aber ich suche nach einer angesehenen Autorität (wie W3C, ISO, NIST usw.), um zu klären, welches Megabyte ein echtes Megabyte ist. Kann jemand eine Quelle zitieren, die explizit erklärt, wie diese Berechnung durchgeführt wird?

Bonusfrage: Wenn # 2 ein Megabyte ist, wie heißen # 1 und # 3?

Übrigens: Festplattenhersteller zählen in diesem Fall nicht als Autoritäten!

Benutzer1
quelle
3
Festplattenhersteller haben als Behörden auf diese zählen, soweit ihre Verwendung von Megabyte mittleren sens # 1 ist die Annahme dieser Umwandlung der Fahrt. Beachten Sie jedoch, dass Microsoft-Betriebssysteme weiterhin Sinn 2 verwenden.
Michael Petrotta
3
# 3 sollte als Floppy-Megabyte bezeichnet werden. 3½-Zoll-Disketten waren ziemlich bemerkenswert für diese Verwendung (und ich kann mich nicht erinnern, sie irgendwo anders gesehen zu haben).
Michael Madsen
14
Und das obligatorische: xkcd.com/394
Seva Alekseyev
4
Mann oh Mann. Zwischen dieser und der Textkodierung verzweifle ich manchmal an unserer unfehlbaren Fähigkeit, den grundlegendsten Dingen komplizierende Knicke hinzuzufügen.
Paul D. Waite
4
Festplattenhersteller verwenden höchstwahrscheinlich die Nummer 1, um die höchste Anzahl zu erhalten. Für GB beträgt der Unterschied 7% und für TB beträgt der Unterschied 10%.
Peter Mortensen

Antworten:

115

Traditionell meinen wir mit Megabyte Ihre zweite Option - 1 Megabyte = 2 20 Bytes. Aber es ist eigentlich nicht richtig, weil Mega 1 000 000 bedeutet. Es gibt einen neuen Standardnamen für 2 20 Bytes, es ist Mebibyte ( http://en.wikipedia.org/wiki/Mebibyte ) und es gewinnt an Popularität.

Andrey
quelle
9
Ich bin mit all dem einverstanden, mit der Ausnahme, dass es eine große Popularität erlangt. Der Mindshare von 1024 = K und Freunden ist praktisch unverwundbar. Wenn Sie Leute dazu bringen, "Cracker" statt "Hacker" zu sagen, melden Sie sich bei mir.
Ted
5
Ich werde nicht für die ketzerische "Mebibyte" -Erwähnung stimmen, aber es erfordert viel Mühe.
aehiilrs
3
@TED: Eigentlich ist die Verwendung von "Hacker" als "Cracker" ein perfektes Beispiel für die Populärkultur, die die Verwendung außer Kraft setzt, die Geeks bevorzugen würden.
Michael Petrotta
2
Es war mein persönliches Gefühl, dass Mebibyte immer beliebter wird. Vielleicht irre ich mich. Ich habe auf einer ziemlich beliebten Download-Site-Größe gesehen, die in MiB und KiB gezeigt wird.
Andrey
1
Nun, ich stimme Ihnen zu und ich verwende auch 10-Basis-Mega und 2-Basis-Kibi und Mebi. Das ist der IEC-Standard für die Verwendung von Metriken: Das ist endgültig und es macht keinen Sinn, darüber hinwegzutreten.
Zan Lynx
26

Es gibt einen IEC-Standard , der die Begriffe unterscheidet, z. B. Mebibyte = 1024 ^ 2 Bytes, aber Megabyte = 1000 ^ 2 (um mit SI-Einheiten wie Kilogramm kompatibel zu sein, wobei k / M / ... 1000/1000000 bedeutet). Tatsächlich bevorzugen die meisten Leute im IT-Bereich Megabyte = 1024 ^ 2 und Festplattenhersteller bevorzugen Megabyte = 1000 ^ 2 (weil die Festplattengrößen größer klingen als sie sind).

Tatsächlich sind die meisten Menschen durch die IEC-Norm (Multiplikator 1000) und die traditionelle Bedeutung (Multiplikator 1024) verwirrt. Im Allgemeinen sollten Sie keine Annahmen darüber treffen, was Menschen meinen. Beispielsweise bedeuten 128 kBit / s für MP3s normalerweise 128000 Bit, da der Multiplikator 1000 meistens mit den Einheitsbits verwendet wird. Aber oft nennen die Leute dann 2048 kBit / s gleich 2 MBit / s - verwirrend, oder?

Vertraue also in der Regel überhaupt keinen Bit / Byte-Einheiten;)

AndiDog
quelle
17

Übrigens: Festplattenhersteller zählen in diesem Fall nicht als Autoritäten!

Oh ja, das tun sie (und die Definition, die sie vom SI annehmen, ist die richtige). Informationen zu diesem Thema finden Sie in diesem Beitrag zu CodingHorror.

Federico A. Ramponi
quelle
4
Leider downvoter, aber ihre Definition von Mega IS die richtige, egal was Programmierer denken. Ich kann mit M = 2 ^ 20 leben, gut, aber das ist nur aus historischen Gründen.
Federico A. Ramponi
+1 für den Moxie, mit den HD-Unternehmen und SI-Standard-Enthusiasten gegen alle anderen zu stehen!
Jeffrey L Whitledge
11
Danke Jeffrey :), aber es sind nicht nur die HD-Unternehmen: Ihre CPU leistet 2600 MHz; Ihr Mathematikprozessor führt XY-Mflops aus. Ethernet macht 100 Mbit / s; Ihre Kamera macht 5 Mpixel; Die 1x Geschwindigkeit von Blu-ray beträgt 36 Mbit / s ... Alle diese "M" stehen für 10 ^ 6, nicht für 2 ^ 20.
Federico A. Ramponi
-1 Ich bin mir nicht sicher, ob ich dieser Antwort folge. Welcher Festplattenhersteller hat eine Definition vorgenommen? Ich glaube nicht, dass CodingHorror Festplatten produziert? Ich bin auf der Suche nach einer Behörde, und ein Festplattenhersteller hätte zu viele Vorurteile, um objektiv zu sein.
User1
1
Die "Behörde", die M = 10 ^ 6 unterstützt, ist das Internationale Büro für Gewichte und Maße. Soweit ich weiß, gibt es außer dem Brauch keine "Autorität", die M = 2 ^ 20 unterstützt.
Federico A. Ramponi
16

Teilen Sie durch 2die Potenz von 20, (1024*1024)Bytes = 1Megabyte

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

Es ist das selbe Ding.

Marie
quelle
3

Die Antwort ist, dass # 1 technisch korrekt ist, basierend auf der wahren Bedeutung des Mega-Präfixes, aber (und im Leben gibt es immer ein jedoch) ist die Mathematik dafür in Basis 2 nicht so gut, wie Computer zählen Also, # 2 ist das, was die Leute wirklich benutzen.

Grant Johnson
quelle
2

Verwenden Sie die Berechnung, die Ihre Benutzer höchstwahrscheinlich erwarten. Möchten Ihre Benutzer wissen, wie viele tatsächliche Bytes sich auf einer Festplatte oder im Speicher befinden oder was auch immer, oder kümmern sie sich nur um nutzbaren Speicherplatz? Die Antwort auf diese Frage zeigt Ihnen, welche Berechnung am sinnvollsten ist.

Dies ist weniger eine Präzisionsfrage als eine Usability-Frage. Geben Sie die Berechnung an, die für Ihre Benutzer am nützlichsten ist.

Bryan Oakley
quelle
1

Megabyte bedeutet 2 ^ 20 Bytes. Ich weiß, dass dies technisch nicht mit den SI-Einheiten übereinstimmt und dass einige Leute eine neue Terminologie entwickelt haben, die 2 ^ 20 bedeutet. Nichts davon ist von Bedeutung. Bemühungen, die Sprache zu ändern, um Dinge zu "klären", sind zum Scheitern verurteilt.

Festplattenhersteller verwenden damit 1.000.000 Bytes, weil dies in SI bedeutet, sodass sie technisch denken, dass sie nicht lügen (während sie es tatsächlich sind). Das fällt unter Lügen, verdammte Lügen und Marketing.

TED
quelle
0

Im Allgemeinen ist es falsch, dezimale SI-Präfixe (z. B. Kilo, Mega) zu verwenden, wenn auf binäre Datengrößen Bezug genommen wird (außer bei gelegentlicher Verwendung). Es ist mehrdeutig und sorgt für Verwirrung. Um genau zu sein, können Sie binäre Präfixe verwenden (z. B. 1 Mebibyte = 1 MiB = 1024 Kibibyte = 2 ^ 20 Byte). Wenn jemand anderes dezimale SI-Präfixe für Binärdaten verwendet, müssen Sie weitere Informationen abrufen, bevor Sie wissen, was gemeint ist.

Steven Hultgren
quelle