Diese Frage ließ mich über die Unterschiede zwischen diesen drei Arten der Größenmessung nachdenken : einem Kibibyte , einem Kilobit und dem herkömmlichen Kilobyte .
Ich verstehe, dass diese Messungen unterschiedliche Verwendungszwecke haben (die Datenübertragungsrate wird in Bit / Sek. Gemessen), bin mir aber nicht sicher, ob ich den Unterschied zwischen MB und MB und MiB erkennen kann.
Hier ist ein Kommentar, der unten wiedergegeben ist und aus dieser Antwort stammt ( Hervorhebung von mir ).
Der C64 verfügt über 65536 Byte RAM. Nach Konvention Speichergröße ist in bestimmten kibibytes , Datenübertragungsraten in Kilobit und Massenspeicher in was auch immer-die-Hersteller-denken-of-jetzt - Bytes . Festplatten verwenden T, G, M und k auf dem Etikett, Windows gibt die Größe in Ti , Gi , Mi und ki an . Und diese 1,44 MB Floppys? Das sind weder 1,44 MB noch 1,44 MB, es sind 1,44 Kilokibibyte. Das sind 1440 KB oder 1'474'560 Byte. - Drittens
quelle
Antworten:
Dies ist bei allen SI-Präfixen genauso.
k
(1x10 3 ),M
(1x10 6 ),G
(1x10 9 ), also im weiteren Sinne:Die einzigen, die ein bisschen anders sind, sind die IEC-Binärpräfixe (kibi / mebi / gibi usw.), da sie sich in der Basis 2 befinden, nicht in der Basis 10 (z. B. sind alle Zahlen gleich 2 etwas anstelle von 10 etwas ). Ich bevorzuge es, nur die SI-Präfixe zu verwenden, weil ich es viel einfacher finde. Außerdem verwendet Kanada (mein Land) das metrische System, also bin ich es zum Beispiel gewohnt
1kg = 1000g
(oder1k anything = 1000 base things
). Nichts davon ist falsch oder richtig; Stellen Sie einfach sicher, dass Sie wissen, welches Sie verwenden und was es wirklich bedeutet.So beschwichtigen Sie die Kommentatoren:
Wenn Sie jemals in einem Hex-Editor nachgesehen haben, wird daher alles in zwei hexadezimale Zeichen aufgeteilt. Jedes Hex-Zeichen hat die Größe eines Nibbles und es gibt zwei zu einem Byte. Zum Beispiel:
quelle
500GB (box) = 465.7GiB (computer)
(und dass ist , wie sie Sie erhalten).Es gibt einige grundlegende Begriffe, die einfach und leicht zu verstehen sind:
Um zwischen Bits und Bytes (mit einem beliebigen Präfix) zu konvertieren, müssen Sie nur ein Vielfaches oder eine Division durch acht durchführen. nett und einfach.
Jetzt wird es etwas komplizierter, da es zwei Systeme zum Messen großer Datengruppen gibt: Dezimal und Binär . Computerprogrammierer und Ingenieure verwendeten jahrelang nur die gleichen Begriffe für beide, aber die Verwirrung rief schließlich einige Versuche hervor, einen geeigneten Satz von Präfixen zu standardisieren .
Jedes System verwendet einen ähnlichen Satz von Präfixen, die entweder auf Bits oder auf Bytes angewendet werden können. Jedes Präfix startet in beiden Systemen gleich, aber die Binären klingen danach wie Baby-Talk.
Das Dezimalsystem ist die Basis 10, an die sich die meisten Menschen gewöhnt haben und die wir verwenden, weil wir 10 Finger haben. Das Binärsystem ist die Basis 2, an die die meisten Computer gewöhnt sind und die sie verwenden, weil sie zwei Spannungszustände haben.
Das Dezimalsystem ist für die meisten Menschen offensichtlich und einfach zu verwenden (es ist einfach genug, um sich in unseren Köpfen zu vermehren). Jedes Präfix erhöht sich um 1.000 (der Grund dafür ist eine ganz andere Sache).
Das binäre System ist für die meisten Nicht-Computer-Benutzer viel schwieriger zu bedienen, und selbst Programmierer können oft nicht beliebig viele Zahlen in ihren Köpfen speichern. Trotzdem ist es eine einfache Sache, ein Vielfaches von zwei zu sein. Jedes Präfix erhöht sich um 1.024. Ein "K" ist 1.024, da dies die nächste Potenz von zwei zur Dezimalzahl "k" von 1.000 ist (dies mag an diesem Punkt zutreffen, aber die Differenz nimmt mit jedem aufeinanderfolgenden Präfix schnell zu).
Die Zahlen sind für Bits und Bytes mit demselben Präfix gleich.
Beachten Sie, dass der Unterschied zwischen dem Dezimal- und dem Binärsystem klein beginnt (bei 1 KB sind es nur 24 Byte oder 2,4% Abstand), aber mit jeder Ebene größer wird (bei 1 GB sind sie> 70 MB oder 6,9% Abstand).
Als allgemeine Faustregel verwenden Hardwaregeräte Dezimaleinheiten (ob Bits oder Bytes), während Software binäre Einheiten (normalerweise Bytes) verwendet.
Dies ist der Grund, warum einige Hersteller, insbesondere Laufwerkshersteller, gerne Dezimalstellen verwenden, weil dadurch die Laufwerksgröße größer wird, die Benutzer jedoch frustriert sind, wenn sie feststellen, dass sie weniger als erwartet haben, wenn sie Windows et sehen. al. berichte die Größe in binär. Zum Beispiel, 500GB = 476GiB, so während der Antrieb aus 500GB enthalten und als solche gekennzeichnet, Arbeitsplatz zeigt die binäre 476GiB (aber als „476GB“), so dass die Nutzer fragen , wo der andere 23GB ging. (Laufwerkshersteller fügen Paketen häufig eine Fußnote hinzu, die besagt, dass die "formatierte Größe geringer" ist, was irreführend ist, da der Overhead des Dateisystems nichts im Vergleich zum Unterschied zwischen Dezimal- und Binäreinheiten ist.)
Netzwerkgeräte verwenden aus historischen Gründen häufig Bits anstelle von Bytes, und ISPs werben häufig gerne mit Bits, da dadurch die Geschwindigkeit der von ihnen angebotenen Verbindungen erhöht wird: 12 Mbit / s anstelle von nur 1,5 Mbit / s. Sie mischen und passen oft sogar Bits und Bytes sowie Dezimalzahlen und Binärzahlen an. Sie können beispielsweise eine vom ISP als "12 MBit / s" bezeichnete Leitung abonnieren, wenn Sie davon ausgehen, dass Sie 12 MBit / s erhalten, aber tatsächlich nur 1,43 MBit / s (12.000.000 / 8/1024/1024) erhalten.
quelle
Einige der Antworten sind nicht genau.
Machen wir uns zuerst ein paar Notizen:
Das Präfix "Kilo" bedeutet 1 000. Das Präfix "Kilo" bedeutet 1 000 dieses Artikels. Gleiches gilt für "Mega" oder "Million", "Giga" oder "Milliarde", "Tera" oder Billionen und so weiter.
Der Grund, warum 1 024 existiert, anstatt nur 1 000 zu haben, liegt in der Art und Weise, wie binäre Arithmetik funktioniert. Binär ist, wie der Name schon sagt, ein Basis-2-System (es besteht aus 2 Ziffern: 0, 1). Es kann nur mit zwei Ziffern arithmetisch arbeiten, im Gegensatz zu dem Basis-10-System, das wir täglich verwenden (0, 1, 2 ... 9), das zehn Ziffern hat.
Um mit Binärarithmetik auf die Zahl 1 000 ( Kilo ) zu kommen, muss eine Gleitkommaberechnung durchgeführt werden. Dies bedeutet, dass bei jeder Operation eine Binärzahl übertragen werden muss, bis 1 000 erreicht ist. Im Basis-10-System ist 1 000 = 10 3 (Sie erhöhen immer 10 auf eine Potenz in Basis 10), eine sehr einfache und schnelle Berechnung, die ein Computer ohne "Reste" ausführen kann, im Basis-2-System jedoch Es ist nicht möglich, 2 (Sie erhöhen immer 2 zu einer Potenz in Basis 2) auf eine positive Ganzzahl zu erhöhen, um 1 000 zu erhalten. Es muss eine Gleitkommaoperation oder eine lange Addition verwendet werden, und die Ausführung dauert länger als die Ganzzahlberechnung 2 10 = 1024.
Möglicherweise haben Sie bemerkt, dass 2 10 = 1 024 verlockend nahe an 1 000 liegt und 1 024 zu 1 signifikante Zahl 1 000 ist (eine sehr gute Annäherung), und zurück, als die CPU-Geschwindigkeit als alter Hund langsam war und der Speicher sehr begrenzt war Dies war eine ziemlich anständige Annäherung und sehr einfach zu handhaben, ganz zu schweigen von der schnellen Ausführung.
Es handelt sich aus diesem Grund um Begriffe mit den Präfixen "Kilo", "Mega", "Giga" usw., die mit nicht genauen Zahlen (1 024, 2 048, 4 096 usw.) verbunden sind. Sie sollten niemals exakte Zahlen sein, sondern waren binäre Näherungen von Zahlen zur Basis 10. Sie entstanden einfach als Jargonwörter, die "Tech" -Leute verwendeten.
Um die Sache noch komplizierter zu machen, hat JEDEC eigene Standards für Einheiten entwickelt, die in Halbleiterspeicherschaltungen verwendet werden. Vergleichen wir einige der JEDEC-Einheiten mit SI- Einheiten (Standard International):
Kb = Kilobit (JEDEC, 1 024 Bit. Beachten Sie den Groß- und Kleinbuchstaben "b".
KB = Kilobit (SI, 1 000 Bit. Beachten Sie den Kleinbuchstaben "k" und den Großbuchstaben "B".)
b = bit (JEDEC, beachte den Kleinbuchstaben 'b')
b = ??? (SI definiert das Wort "Bit" nicht, daher kann seine Verwendung beliebig sein.)
B = Byte (JEDEC, 8 Bit. Beachten Sie den Großbuchstaben 'B')
B = ???? (SI definiert nicht das Wort "Byte" und "B" wird für "Bel" [wie in DeciBel] verwendet.)
KB = Kilobyte (JEDEC, 1 024 Bytes. Beachten Sie die Großbuchstaben "K" und "B".
Kb = Kilobyte (SI, 1 000 Bytes. Beachten Sie die Verwendung der Kleinbuchstaben "k" und "B".)
Der Punkt ist, unterschiedliche Orte verwenden unterschiedliche Präfixe mit unterschiedlichen Definitionen. Es gibt keine feste Regel, welche Sie verwenden sollten, aber Sie müssen mit der übereinstimmen, die Sie verwenden.
Gestatten Sie mir zu klären, warum Sie bei Binärzahlen nicht 1 000 machen können, indem Sie die Zahl auf eine positive ganze Zahl erhöhen.
Binärsystem:
Beachten Sie, dass sich im Binärsystem die Spalten jedes Mal verdoppeln. Dies steht im Gegensatz zum Basis-10-System, das jedes Mal um 10 erhöht wird:
Die ersten 10 Potenzen in binär (Basis 2) sind:
2 0 = 1
2 1 = 2
2 2 = 4
2 3 = 8
2 4 = 16
2 5 = 32
2 6 = 64
2 7 = 128
2 8 = 256
2 9 = 512
2 10 = 1 024
Wie Sie sehen, ist es nicht möglich, die Binärzahl 2 auf eine positive Ganzzahl zu erhöhen, um 1 000 zu erreichen.
quelle