Dateigrößen in Windows machen keinen Sinn


18

Hier habe ich diese Datei in Windows:

Bildbeschreibung hier eingeben

Aber sind das nicht 62.563 Bytes, 62,6 KB?

Bildbeschreibung hier eingeben


24
Siehe XKCD # 394
Nick T


11
Mac verwendet dezimale Kilobyte (der IEC-Standard), während Windows noch binäre Kilobyte verwendet (seitdem in Kibibyte umbenannt), bezieht sich Linux normalerweise auf KiB (die umbenannten binären Kilobyte). Persönlich denke ich, dass das alles irgendwie durcheinander ist. Man kauft keinen RAM-Stick mit 1.000.000.000 Bytes, sondern einen RAM-Stick mit 1.073.741.824 Bytes. Wenn Sie jedoch eine Festplatte kaufen, kaufen Sie diese mit 500.000.000.000 verfügbaren Bytes, obwohl Sektoren in Vielfachen von 512 Bytes zugeordnet sind. Ich mochte meine Kilobyte, als sie binär waren ...
Phyrfox

1
@phyrfox: 1 MHz CPU entspricht 1 Million Zyklen, nicht 1.073.741.824 Zyklen. 1 Mbit / s Netzwerkverkehr entspricht ebenfalls 1 Million Bit.
Zan Lynx

3
@ZanLynx Mega ist nicht 1 Million, es ist "großartig" aus dem Griechischen angepasst. Außerdem sind SI-Präfixe so wie sie sind nur bei physischen Einheiten sinnvoll. Aber Bytes und Bits sind keine physikalischen Einheiten. Da SI-Präfixe standardisiert sind, gibt es auch einen Standard für Speichergrößen, der die Bedeutung von Kilo, Mega und Giga als 1024, 1048576 bzw. 1073741824 definiert.
Ruslan

Antworten:


53

62.563 Bytes sind 61.0966797 Kibibytes . Das Kibi- Präfix bedeutet, dass die Basis für die Berechnung 1024 ist, wobei Bi für "binär" steht, da 2 ^ 10 = 1024 . Es ist nur eines der binären Präfixe , andere sind Mebi oder Gibi .

Ein Kilobyte hingegen ist 1000 Bytes, wobei die klassischen SI-Präfixe verwendet werden, die Sie aus Kilometern und Kilogramm kennen. Es wird die Dezimalbasis 10 ^ 3 = 1000 verwendet , also hat Google tatsächlich recht . Wenn Sie für den gleichen Betrag in Kibibyte gegoogelt hätten, hätten Sie die richtige Antwort in der Computerterminologie erhalten.

Es ist heutzutage sehr wichtig, zwischen Kilo und Kibi zu unterscheiden, und tatsächlich sollte Windows dies als "61 KiB" ausweisen, um genau zu sein. Dies ist die IEC-Konvention, um die Unterscheidung zu erleichtern.

Abgesehen davon gibt es heutzutage immer noch viele Unklarheiten, bei denen die Festplattengrößen normalerweise in binären Einheiten (aber nicht immer explizit) angegeben werden und die Verbindungsgeschwindigkeiten in SI-Einheiten angegeben werden.


1
@Joker_vD: Zum Glück so ;-) Kilo und Mega (und was auch immer andere Präfixe folgen würden) sind nur Faktoren, keine eigenen Mengen, also wäre es ziemlich sinnlos , nur K und M (und G und T und P usw.) zu verwenden. (Dasselbe gilt natürlich auch für die Präfixe kibi , mebi usw.) Darüber hinaus sind alle häufig verwendeten Einheiten eindeutig , da keine Abkürzung zweimal verwendet wird, aber K würde auf den ersten Blick genauso aussehen wie K für Kelvin .
ODER Mapper

1
@ORMapper Ja, und T würde mit Tesla verwechselt werden . Denn in den Handbüchern der Programmierer wird häufig die zugrunde liegende Physik erörtert.
Joker_vD

1
@Joker_vD: Ob dort Physik auftauchen könnte oder nicht, ist irrelevant. Der Punkt ist, dass die Einheitenzeichen K und T ohne Kontext nicht mehr eindeutig sind - was einen unbestreitbaren Nachteil gegenüber einer eindeutigen Zuordnung zwischen Einheitenzeichen und Einheiten darstellt -, was eine solche Konvention höchst unerwünscht macht.
ODER Mapper

1
Wer außerhalb einer Nische der Computerwelt weiß, was ein "Kibibyte" ist? Übrigens war Google erst vor kurzem "richtig". Es ist immer noch eine sehr lebhafte Debatte darüber, ob ein Kilobyte 1000 oder 1024 Bytes ist.
Justin Krejcha

9
Bin ich der Einzige, der ein bisschen verärgert ist, dass dies auf 61,0 gekürzt wird, anstatt auf 61,1 gerundet zu werden?
Christofer Ohlsson

22

Stellen Sie sich Google als den verrückten Hutmacher vor. Sie müssen die richtige Frage stellen. Oder vielleicht ein Elf: Manchmal lautet Ihre Antwort sowohl Ja als auch Nein.

Byte zu KiB.  Das Kilobyte des Computers;  oder das Kibibyte.


5

1 KB = 1024 Byte. Somit:

62563 / 1024 = 61.097KB

Als Abkürzung behandeln viele Leute und Systeme eine KB als 1000, da Kilo das SI-Präfix für 1000 ist. Informatiker verwenden jedoch das Präfix für 2 ^ 10, das 1024 ist.


3

Die meisten computerbezogenen Zahlen verwenden Binärpräfixe, im Gegensatz zu SI-Systemen, die Dezimalpräfixe verwenden. Es bedeutet, dass:

  • 1 Kilogramm = 10 3 Gramm, aber
  • 1 Kilobyte = 2 10 Bytes

Das sind jeweils 1000 Gramm und 1024 Bytes. 62563 / 1024 ~= 61Also Windows ist richtig.

Allerdings basiert nicht alles, was mit Computern zu tun hat, auf binären Präfixen, und diese Inkonsistenz führt häufig zu Missverständnissen. Diese Wikipedia-Seite beschreibt, mit welchen Präfixen verschiedene Dinge gemessen werden.

Ein Extremfall ist die Bandbreite. Normalerweise werden binäre Präfixe in Bytes pro Sekunde und dezimale Präfixe in Bits pro Sekunde verwendet. Also dieser Satz ist wahr:

1 Byte pro Sekunde = 8 Bits pro Sekunde

Aber dieser ist falsch:

1 Kilobyte pro Sekunde = 8 Kilobit pro Sekunde

Weil:

  • 1 KB / s = 1024 B / s
  • 1 Kbps = 1000 bps

( verwandte Frage )


1
Fehler: 2 ^ 8 = 256 ---> Das sollte wohl 2 ^ 10 sein ;-)
Hannu

Die WP-Diskussionsseite ist viel interessanter als der eigentliche Artikel (eine sehr große Debatte darüber, ob eine KB 1024 oder 1000 Byte groß ist).
Justin Krejcha

Die Bandbreite wird korrekt in Hz ausgedrückt, wobei die SI-Präfixe Potenzen von 10 verwenden. Der Grund für die Mehrdeutigkeit des Durchsatzes (Datenübertragungsrate, äquivalente Bandbreite, multipliziert mit der Codierungseffizienz) ist, dass in der ersten Definition (KB)/sdas binäre Präfix und in der zweiten das dezimale auf kHz oder kBaud basiert Präfix.
Ben Voigt
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.