Stimmt es, dass 1 MB entweder 1000000 Byte, 1024000 Byte oder 1048576 Byte bedeuten kann? [Duplikat]

63

Mögliches Duplikat:
Was ist der Unterschied zwischen einem Kibibyte, einem Kilobit und einem Kilobyte?

Wenn 1 KB (Kilobyte) entweder 1000 Byte oder 1024 Byte bedeuten kann,

Und 1 MB (Megabyte) kann 1000 KB oder 1024 KB bedeuten.

Bedeutet das nicht, dass 1 MB eine der folgenden vier Möglichkeiten hat? :

  1. 1000 × 1000 = 1000000 Bytes

  2. 1000 × 1024 = 1024000 Bytes

  3. 1024 × 1000 = 1024000 Bytes

  4. 1024 × 1024 = 1048576 Bytes

Oder werden 2. und 3. nicht akzeptiert, sodass 1 MB entweder nur 1000000 Bytes von 1048576 Bytes bedeuten könnte?

Pacerier
quelle
3
Wussten Sie, dass es –0 (negative Null) und +0 (positive Null) gibt? en.wikipedia.org/wiki/Signed_zero
Aki
4
Der einzige Ort, an dem ich verschiedene gemischte Präfixe gesehen habe, sind die 1,44-Disketten.
AndrejaKo
Aki ja, aber ich verstehe nicht, was Sie sagen wollen?
Pacerier
"Wenn Zahlen nicht schön sind, weiß ich nicht, was ist." - Paul Erdős
Aki
4
Bitte 'kB', nicht 'KB'.
Andreas Rejbrand

Antworten:

107

Erstens gibt es zwei Arten von Präfixen, wenn es um digitale Informationen (gelesene Bytes ) geht: SI-Präfixe und binäre Präfixe .

SI-Präfixe

SI-Präfixe sind Potenzen von 1.000 (1.000 1 , 1.000 2 , 1.000 3 usw.):

  • 1 kB = 1 Kilobyte = 1.000 1 Byte = 1.000 Byte;
  • 1 MB = 1 Megabyte = 1.000 2 Bytes = 1.000.000 Bytes;
  • 1 GB = 1 Gigabyte = 1.000 3 Bytes = 1.000.000.000 Bytes;
  • und so weiter .

Wie Sie sehen, werden nur SI-Symbole ab Mega großgeschrieben. Daher ist KB kein gültiges Präfix .

Binäre Präfixe

Binäre Präfixe sind Potenzen von 1.024 (1.024 1 , 1.024 2 , 1.024 3 usw.):

  • 1 KiB = 1 Kibibyte = 1.024 1 Bytes = 1.024 Bytes;
  • 1 MiB = 1 Mebibyte = 1.024 2 Bytes = 1.048.576 Bytes;
  • 1 GiB = 1 Gibibyte = 1.024 3 Bytes = 1.073.741.824 Bytes;
  • und so weiter .

Wie Sie hier sehen können, wird jedes Binärsymbol großgeschrieben und ein i in Kleinbuchstaben vor dem B- Symbol eingefügt, um anzuzeigen, dass es sich um Kibibytes anstelle von Kilobytes, Mebibytes anstelle von Megabytes usw. handelt.


Allerdings werden binäre Präfixe nicht weit verbreitet ist , von Windows nicht , sich überhaupt nicht verwendet.

Was hier passiert ist, dass Windows uns mitteilt, dass das Festplattenlaufwerk eine Kapazität von 300.066.795.520 Byte hat, was laut Windows 279 GB entspricht. Wir wissen jedoch, dass bei 1.000.000.000 Bytes = 1 GB 300.066.795.520 Bytes = ~ 300 GB = ~ 279,5 GiB .

Wenn Sie also 1 KB (was falsch ist, merken Sie sich) oder 1 MB sehen, gehen wir davon aus, dass es sich um 1 Kibibyte bzw. 1 Mebibyte handelt. Kb , kb , Gb , gb usw. sind ebenfalls häufig, obwohl sie Bits darstellen (8 Bits = 1 Byte).


In keinem Fall kann 1 KB oder 1 MB mehrere Werte haben, obwohl die (schlechte) Verwendung das Gegenteil zu bedeuten scheint.

seriousdev
quelle
3
Vielleicht sollten Sie hinzufügen, dass bei Datenübertragungsraten (in Bit / s) in der Regel Base-10-Präfixe verwendet werden, z. B. bedeutet Gb / s tatsächlich "eine Milliarde Bits pro Sekunde".
Frank
3
Die binären Präfixe sind relativ neu und es ist immer noch sehr verbreitet, die SI-Präfixe zu verwenden, um Potenzen von 2 zu bezeichnen. Ich denke, viele Leute kennen die binären Präfixe nicht einmal. @ Novox macht einen guten Punkt: Sogar Leute, die GB für 1048576 Bytes Speicher verwenden, verwenden Gb / s für 1000000000 Bits pro Sekunde. Die Erfindung der Binärpräfixe machte die gesamte Verwendung nicht konsistent.
Keith Thompson
5
@kubanczyk: Ich bin nicht anderer Meinung, dass es Faulheit ist - aber Faulheit ist nicht unbedingt eine schlechte Sache. Wir brauchen eine Möglichkeit, auf die Speicherung in Einheiten von 1024, 1048576 oder 1073741824 Bytes zu verweisen, und vor der (relativ neuen) Erfindung der binären Präfixe (Ki, Mi, Gi) die SI-Präfixe (K, M, G) war der einzig vernünftige Weg, dies zu tun. Und das haben wir so viele Jahre lang gemacht, dass die Präfixe K, M, G immer noch nicht eindeutig sind. Es wäre besser gewesen, von Anfang an konsequent Binär- und SI-Präfixe zu verwenden, aber das ist nicht der Fall.
Keith Thompson
2
@kubanczyk Versteht mich nicht falsch, ich / bin / ein starker Befürworter der korrekten Einheitennutzung. Trotzdem denke ich nicht, dass "es offensichtlich ist". Wenn es wirklich so wäre, gäbe es keine Fragen wie diese, oder?
Frank
3
Hmmm lass es uns anders herum versuchen, sollen wir? Schauen Sie, was mit 8 Bits passiert ist. Anstatt es decabit zu nennen und darauf zu bestehen, dass deca manchmal in IT 8 nicht 10 bedeutet, hat jemand einen neuen Begriff erfunden und ihn ein Byte genannt. Voila! Die gleiche Lösung war mit 1024 möglich, wenn nicht 65536.
Kubanczyk
14

Das Kilobyte ist eine Basis 10-Messung, also 1 Kilobyte = 10 hoch 3 = 1000 Bytes.

Obwohl dies nicht ganz genau ist, um physikalische Daten genau zu messen, da sie in Binärdaten gespeichert sind, die in Basis 2 gemessen werden, wurde 1999 das Kibibyte eingerichtet, um Kilobyte zu ersetzen, wenn es in der Informatik verwendet wird, um 1024 Bytes zu bedeuten.

Kibibyte ist eine Basis 2 Messung, also 1 Kibibyte = 2 hoch 10 = 1024 Bytes.

Gleiches gilt für Megabyte (1 Megabyte = 10 hoch 6 = 1000000 Bytes), wobei die Basis 2 Mebibyte ist (1 Mebibyte = 2 hoch 20 = 1048576 Bytes).

  • (1) gilt für Megabyte
  • (2) und (3) werden nicht akzeptiert
  • (4) gilt für Mebibyte
asdjaputra
quelle
13
Obwohl dies technisch korrekt ist, möchte ich darauf hinweisen, dass im allgemeinen Sprachgebrauch niemand Kibibyte oder Mebibyte sagt, und wenn man von Kilobyte spricht, bezieht man sich auf die Einheit, die Windows oder das Betriebssystem anzeigt, nämlich Kibibyte. Der einzige Ort, an dem ich regelmäßig gesehen habe, wie Kilobyte richtig verwendet wurden, ist die Festplattenkapazität, was die Benutzer in keiner Weise frustriert.
Darth Android
4
Ja, aber nur, weil ihr Betriebssystem die SI-Präfixe nicht "richtig" verwendet.
Frank
2
Dennoch kann MB 1.000.000 oder 1.048.576 Byte bedeuten . Obwohl es nicht richtig , es ist weit verbreitet. CC @DarthAndroid
Daniel Beck
Ah, 1998 ... als Pluto ein Planet und ein Kilobyte 1024 Bytes waren.
Skrymsli
9

Gegenwärtig ist die Verwendung von "KB", "MB" usw., um etwas anderes als 1000 Bytes, 1000 x 1000 Bytes usw. zu bezeichnen, veraltet und widerspricht den meisten offiziellen Standards. Die neue Art, 1024 Bytes, 1024 x 1024 Bytes usw. auszudrücken, ist KiB (Kibibyte), MiB (Mebibyte) usw. Es ist ein Chaos, und der Kontext ist wichtig, um zu verstehen, was gemeint ist. Eine Diskussion dieser Probleme finden Sie unter http://en.wikipedia.org/wiki/Kibibyte .

Kreemoweet
quelle
7

Wahrscheinlich nicht, weil es eine inkonsistente Verwendung der Präfixe innerhalb einer einzelnen Zahl wäre .

Während das SI-Präfix k für 1000 steht, aber in der IT häufig für 1024 (mit einigen befürwortenden binären Präfixen ) verwendet wird, macht es keinen Sinn, eine Alternative zwischen diesen Bedeutungen in derselben Zahl zu finden .

Daniel Beck
quelle
@JdeBP: Interessante Anmerkung. Es wäre "richtig" (im Sinne von Basis 2) gewesen, 1440 KB zu sagen. Ich hätte nie darüber nachgedacht, die Mischung der beiden "Systeme" in der 1,44-Zahl zu realisieren. +1.
BillP3rd
3

Sie sind in Ihrer Frage richtig. 1 und 4 stimmen, 2 und 3 nicht.

Grundsätzlich definieren Sie die "Tausend", die entweder 1000 oder 1024 ist, und verwenden diese für die Multiplikationen. Sie werden nicht vertauscht.

In der Basis zwei (binär) ist der nächste Punkt, an dem Sie 1000 sauber erreichen können, 1024 (2 ^ 10). So denken Computer tatsächlich über Dinge. Im Arbeitsspeicher (RAM) wären beispielsweise 1 MB 1048576 Byte.

In Basis 10 können Sie jedoch tatsächlich 1000 haben. Festplattenlaufwerke funktionieren wie folgt und auf einer Festplatte sind normalerweise 1 MB 1000000 Bytes (obwohl Solid State in binärer Form funktioniert).

Grundsätzlich liegt es nur an der Tatsache, dass der Computer und das Speichergerät in der Regel geringfügig unterschiedlich funktionieren. Daher gibt es unterschiedliche Definitionen für dieselbe Sache.

James Billingham
quelle
1

Also, hier ist der Deal. (Die meisten) heutigen Computer arbeiten in der Basis 2, nicht in der Basis 10. (Ja, ich weiß, es gibt Ausnahmen, aber es handelt sich wirklich um Ausnahmefälle.) Für unsere (Ihre) Zwecke sind alle Allzweckcomputer (und mit Sicherheit alle Verbraucher) geeignet Allzweckcomputer) verwenden Basis 2 für die gesamte interne Verarbeitung. Die Grundeinheit ist ein Bit, das Null oder Eins sein kann. Acht davon ergeben zusammen ein Byte; 16 ein Wort. Das ist im Allgemeinen so ... 32-Bit-Computer werden im Allgemeinen als 32-Bit-Wörter, 64-Bit-Computer, 64-Bit-Wörter usw. betrachtet. Hast du bemerkt? Dies sind alles Potenzen von 2. Ein Computer mit einem "K" oder Kilobyte Speicher hat immer 1024 Bytes Speicher. Ein Megabyte Speicher bedeutet immer 1024 x 1024 Bytes. Auch hier sind alle Potenzen 2. Ein Computer mit 64 MB Speicher hat also immer 64 x 1024 x 1024 Byte. Wenn Sie Computer sehen, die zum Verkauf angeboten werden, basiert die Speicherkapazität (RAM) immer auf Potenzen von 2. Sie werden beispielsweise nie eine Grafikkarte sehen, die 1 GB RAM für eine Milliarde Bytes beansprucht.

Wo die Verwirrung eingeführt wurde und was die Leute verrückt macht, ist, wenn Festplattenhersteller auf der Suche nach immer größeren Laufwerken sagten: "Hey! Weißt du, in anderen Bereichen (nicht bei Computern) ist ein K 1000 und ein M ist 1.000.000. " Wenn zum Beispiel ein paar Leute über den Verkaufspreis eines Autos diskutierten und einer vorschlug: "Ich denke, 8K klingt ungefähr richtig", würde der andere automatisch verstehen, dass 8K 8.000 USD bedeutete (nicht 8.192 USD). Die Hersteller von Festplatten sagten also: "Lassen Sie uns mit diesen Maßnahmen für unsere Produkte werben , damit sie größer klingen ." Aber die Anwälte traten ein und sagten: "Warten Sie eine Minute. Praktisch jeder, der, wissen Sie,Wie sie arbeiten, wird faul schreien. "Darauf antworteten die cleveren Werbeleute:" Kein Problem. Stellen Sie einfach ein winziges kleines Sternchen neben die Kapazität der Box und in unsere Dokumentation, in der so etwas wie "* 1 GB = 1.000.000.000 Byte" steht. Problem gelöst."

Also hier sind wir mit all dieser Verwirrung. Zitat aus dem Wiki-Artikel oben, auf den @kreemoweet verweist,

In den meisten Fällen wird das Kilobyte weiterhin verwendet, um sich auf eine Zehnerpotenz sowie eine Zweierpotenz zu beziehen.

Und die Verwirrung geht weiter. Aus praktischen Gründen sollten Sie wahrscheinlich davon ausgehen, dass die Festplattenkapazitäten auf Basis von 10 Maßeinheiten basieren. In ähnlicher Weise basieren die RAM-Kapazitäten (wahrscheinlich) immer auf Basis 2-Einheiten. Bei anderen Arten von Geräten und Produkten hängt dies wahrscheinlich von der zugrunde liegenden Technologie und den Erwartungen der Werbefachleute ab. Größer ist doch besser, oder?

Für zusätzliche Informationen lesen Sie möglicherweise die Zeitleiste mit den binären Präfixen . Es wird die Dinge nicht klarer machen, aber es macht Spaß, es zu lesen.

BillP3rd
quelle
2
Sind Sie sicher, dass es nur reines Marketing ist? Vielleicht hängt es auch mit der Struktur / Organisation des Speichers selbst zusammen.
Barlop
3
-1 Es ist keine Marketing-Sache und es war nicht so, dass Laufwerke größer klangen. Das ist eine weit verbreitete, aber dennoch völlig falsche Erklärung. Es ist auch eine Schlussfolgerung, die auf der groben Unkenntnis des Themas beruht. Die Internationale Elektrotechnische Kommission und das Institut für Elektrotechnik- und Elektronikingenieure haben 1997 in einem Artikel über den IEEE-Normungsträger dargelegt, warum verschiedene technische Disziplinen dieselbe Sprache sprechen und sich nicht gegenseitig verwirren sollen . Dies ist eine sehr praktische technische Angelegenheit.
JdeBP
4
Meine Erfahrung als Ingenieur bei Miniscribe und später bei Maxtor in den 1980er und 90er Jahren hat mich anders informiert. Als Computeringenieure tendieren wir dazu, Potenzen von 2 zu erreichen. Ein Byte besteht immer aus 8 Bits. Wie @barlop hinzufügt, können rotierende Laufwerke im Gegensatz zum Hauptspeicher des Computers eine sehr unterschiedliche Struktur / Organisation aufweisen. Dies gilt umso mehr, als die Laufwerkstechnologie dahingehend fortgeschritten ist, dass die Anzahl der Sektoren pro Spur vom inneren zum äußeren Rand der Aufzeichnungsoberfläche variiert. Beachten Sie, dass Sektoren immer noch 512 Byte haben. (Diese lästige Potenz von 2).
BillP3rd
1
Das ist ein Mangel an Erfahrung: eine enge und kurzsichtige Sicht der Technik. Lesen Sie den Artikel zu IEEE Standards Bearer . Es ist genau die Art von "Aber die Leute benutzen immer Zweierpotenzen." denken, dass dann schief geht , wenn es die Technik trifft Mehrheit , die sich nicht wie diese Scheuklappen, dass dies und quadratisch angestrebt wird. Wie gesagt, dies ist eine praktische technische Angelegenheit, und Sie zeigen ironischerweise genau das Problem, auf das sie abzielte. Es geht nicht um Marketing, und es geht nicht darum, etwas größer klingen zu lassen. Das ist total fabrizierter Müll. Glaub es nicht.
JdeBP
1
@JdeBP sicher, dass Ingenieure definitiv die Begriffe Kibibyte usw. erfanden, die nachweisbar sind. Und wie viele Ingenieure in der Festplattenwelt damit arbeiten, weiß ich nicht. Ich hätte gedacht, dass sie vielleicht anhand des Kontextes wissen würden, was sie mit Kilobyte meinen, und dass sie den Mund voll Kibibyte nicht brauchen würden oder vielleicht auch nicht. Es sieht so aus, als ob BillP3rd glaubt, sie würden es wissen und es wäre base2, und Sie denken, sie müssen es spezifizieren, um es untereinander zu wissen. Das Marketing hätte sich jedoch für die kleinere Einheit entschieden, das Dezimalpräfix auf dem Paket. Ich frage mich, ob Marketing das schon vor diesem IEEE-Artikel getan hat.
Barlop
0

Ja, da es sich um eine syntaktische Katastrophe handelt. Dieser Wiki-Artikel erklärt das Problem und enthält eine Tabelle der "neuen" Wörter, die verwendet werden sollen. Hier in der realen Welt verwendet niemand diese Begriffe. Sie müssen den Kontext verwenden, um zu bestimmen, welche Definition Sie betrachten.

Jim B
quelle
4
-1 für das "niemand". Ich benutze sie hier in der realen Welt und bin weit davon entfernt, alleine zu sein.
JdeBP
1
Wenn der Durchschnittsverbraucher einen Verkäufer nach der Speicherkapazität eines Computers befragt, den er kaufen möchte, und ihm "4 Gibibyte" mitgeteilt wird, hat er keine Ahnung, was gemeint ist. In ähnlicher Weise würde die überwiegende Mehrheit der Menschen die Worte "Gibibyte, Tibibyte, Pibibyte usw." niemals laut aussprechen. Versuchen Sie im Ernst, dreimal so schnell wie möglich "Gibibyte" laut auszusprechen. Ich kann das zumindest für mich selbst sagen, ich habe sie nie gehört. (Ich arbeite für ein großes Softwareunternehmen, von dem Sie wahrscheinlich schon gehört haben und das routinemäßig mit Datenmengen im Terabyte- und Petabyte-Bereich arbeitet.)
BillP3rd
+1 für die Erwähnung dieser lustigen Begriffe und die meisten verwenden sie nicht und verwenden Kontext
Barlop
1
"Niemand" bedeutet "Niemand", Kind, und wird durch den Kontext nicht magisch verändert, um etwas anderes als das zu bedeuten, was das Wort bedeutet. Es ist eine Lüge, wie auch immer Sie versuchen, es zu hacken.
JdeBP
1
@JdeBP - sorry, Jdebp, aber ich wünschte, ich würde es nicht schaffen. Die Existenz des Kibibyte-Begriffs ist ein Beweis dafür, dass es Verwirrung darüber gab (und immer noch gibt), was gemeint ist. Es tut mir leid, dass Sie ein Jahrzehnt lang an diesem Begriff festgehalten haben (es muss schwierig gewesen sein, im Jahr 2000 Festplatten mit Kibibyte-Werten zu finden). Ich würde auch vorschlagen, dass Sie an der Bearbeitung des Wiki-Artikels arbeiten, auf den ich verwiesen habe - klar, dass sie alle falsch sein müssen, was die mangelnde Nutzung betrifft (sie müssen Sie von der Abstimmungsliste gestrichen haben).
Jim B