it-swarm.com.de

Umwandlung von Bytes in Megabytes

Ich habe drei Möglichkeiten für die Konvertierung von Bytes in Megabytes gesehen:

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

Ok, ich denke # 3 ist total falsch, aber ich habe es gesehen. Ich denke, # 2 ist richtig, aber ich suche eine angesehene Autorität (wie W3C, ISO, NIST usw.), um zu klären, welches Megabyte ein echtes Megabyte ist. Kann jemand eine Quelle nennen, 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 Behörden!

89
User1

In Megabyte bedeutet das Ihre zweite Option - 1 Megabyte = 220 Bytes. Aber es ist nicht richtig, weil Mega 1 000 000 bedeutet. Es gibt einen neuen Standardnamen für 220 Bytes, es ist mebibyte ( http://en.wikipedia.org/wiki/Mebibyte ) und es gewinnt Popularität.

100
Andrey

Es gibt einen IEC Standard , der die Begriffe unterscheidet, z. Mebibyte = 1024 ^ 2 Byte, 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 werden Megabyte = 1000 ^ 2 bevorzugen (da Festplattengrößen größer klingen, als sie sind).

Tatsächlich sind die meisten Menschen durch den IEC Standard (Multiplikator 1000) und die traditionelle Bedeutung (Multiplikator 1024) verwirrt. Im Allgemeinen sollten Sie keine Annahmen darüber machen, was die Leute bedeuten. Zum Beispiel bedeuten 128 kBit/s für MP3s normalerweise 128000 Bits, da der Multiplizierer 1000 meistens mit den Einheitsbits verwendet wird. Aber oft rufen die Leute dann 2048 kBit/s an, was 2 MBit/s entspricht - verwirrend, wie?

Vertrauen Sie also in der Regel nicht allen Bit/Byte-Einheiten;)

23
AndiDog

Übrigens: Festplattenhersteller zählen in diesem Fall nicht als Behörden!

Oh, ja, sie tun (und die Definition, die sie von S.I. annehmen, ist die richtige). Zu einem verwandten Thema siehe diesen Beitrag zu CodingHorror.

15

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

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

Es ist das selbe Ding.

9
Marie
3
AVB

Die Antwort ist, dass # 1 technisch korrekt ist, basierend auf der wahren Bedeutung des Mega-Präfixes. Allerdings (und im Leben gibt es immer einen) ist die Mathematik dafür nicht so schön in der Basis 2, also zählen Computer So # 2 ist das, was die Leute wirklich benutzen.

2
Grant Johnson

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

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

2
Bryan Oakley

Megabyte bedeutet 2 ^ 20 Bytes. Ich weiß, dass das technisch nicht in die SI-Einheiten passt, und dass einige Leute eine neue Terminologie mit 2 ^ 20 haben. 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, da dies in SI so ist, dass sie technisch sagen, dass sie nicht lügen (während sie tatsächlich sind). Das fällt unter Lügen, verdammten Lügen und Marketing.

1
T.E.D.

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 führt zu Verwirrung. Um genau zu sein, können Sie binary-Präfixe verwenden (z. B. 1 Mebibyte = 1 MiB = 1024 Kibibytes = 2 ^ 20 Bytes). Wenn jemand anderes dezimale SI-Präfixe für binäre Daten verwendet, müssen Sie weitere Informationen erhalten, bevor Sie wissen, was gemeint ist.

0
Steven Hultgren