Le dimensioni dei file in Windows non hanno senso


18

Qui ho questo file in Windows:

inserisci qui la descrizione dell'immagine

Ma 62.563 byte non sono 62.6 KB?

inserisci qui la descrizione dell'immagine


24


11
Mac utilizza i kilobyte decimali (lo standard IEC), mentre Windows utilizza ancora i kilobyte binari (dal momento che è stato rinominato in kibibyte), Linux di solito si riferisce a KiB (i kilobyte binari rinominati). Personalmente, penso che sia un po 'complicato. Non si acquista uno stick di RAM con 1.000.000.000 di byte, ma si acquista invece uno stick di RAM con 1.073.741.824 byte. Ma quando acquisti un disco rigido, lo acquisti con 500.000.000.000 di byte disponibili su di esso, anche se i settori sono allocati in multipli di 512 byte. Mi sono piaciuti i miei kilobyte quando erano binari ...
phyrfox il

1
@phyrfox: 1 MHz di CPU è 1 milione di cicli, non 1.073.741.824 cicli. 1 Mbps di traffico di rete è anche 1 milione di bit.
Zan Lynx,

3
@ZanLynx Mega non è 1 milione, è adattato "alla grande" dal greco. Inoltre, così come sono, i prefissi SI hanno senso solo con le unità fisiche. Ma byte e bit non sono unità fisiche. Inoltre, poiché i prefissi SI sono standardizzati, esiste anche uno standard per le dimensioni della memoria, che definisce il significato di chilo, mega e giga come rispettivamente 1024, 1048576 e 1073741824.
Ruslan,

Risposte:


53

62.563 byte sono 61.0966797 kibibyte . Il prefisso kibi significa che la base per il calcolo è 1024, bi sta per "binario" perché 2 ^ 10 = 1024 . È solo uno dei prefissi binari , altri sono mebi o gibi .

Un chilobyte invece è di 1000 byte, usando i classici prefissi SI che conosci da chilometri e chilogrammi. Sta usando la base decimale, 10 ^ 3 = 1000 , quindi Google ha ragione . Se avessi cercato su Google lo stesso importo in kibibyte, avresti ottenuto la risposta giusta nella terminologia informatica.

Al giorno d'oggi è molto importante fare una distinzione tra chilo e kibi, e in realtà Windows dovrebbe riportarlo come "61 KiB" per essere assolutamente preciso. Questa è la convenzione IEC per facilitare la distinzione.

Detto questo, c'è ancora molta ambiguità in questi giorni, in cui le dimensioni del disco rigido sono in genere riportate in unità binarie (ma non sempre esplicitamente) e le velocità di connessione sono date in unità SI.


1
@Joker_vD: Per fortuna così ;-) chilo e mega (e qualsiasi altri prefissi avrebbero seguito) sono solo fattori, non quantità di loro, in modo da utilizzare solo K e M (e G e T e P , ecc) sarebbe del tutto inutile. (Lo stesso vale per i prefissi kibi , mebi ecc., Ovviamente.) Inoltre, tutte le unità di uso comune sono ben prive di ambiguità, poiché non viene utilizzata alcuna abbreviazione due volte, ma K a prima vista sembrerebbe uguale a K per Kelvin .
OR Mapper,

1
@ORMapper Sì, e T sarebbe scambiato per Tesla . Perché ovviamente i manuali del programmatore spesso parlano della fisica sottostante.
Joker_vD,

1
@Joker_vD: se la fisica potrebbe apparire o meno è irrilevante. Il punto è che i segni di unità K e T non sarebbero più inequivocabili senza alcun contesto - creando così uno svantaggio innegabile rispetto a una mappatura unica tra segni di unità e unità -, rendendo una convenzione del genere altamente indesiderabile.
OR Mapper,

1
Chi al di fuori di una nicchia del mondo dei computer sa cos'è un "kibibyte"? A proposito, è stato solo di recente che Google aveva "ragione". È ancora un dibattito molto vivo sul fatto che un kilobyte sia 1000 o 1024 byte.
Justin Krejcha,

9
Sono l'unico che è un po 'turbato dal fatto che questo viene troncato a 61.0, anziché arrotondato a 61.1?
Christofer Ohlsson,

22

Sì, pensa a google come al Cappellaio Matto. Devi fare la domanda giusta. O forse un Elfo: a volte la tua risposta sarà sia sì che no.

byte in KiB.  Il kilobyte del computer;  o il kibibyte.


5

1 KB = 1024 byte. Così:

62563 / 1024 = 61.097KB

Come scorciatoia molte persone e sistemi trattano un KB come 1000 poiché Kilo è il prefisso SI per 1000. Gli informatici tuttavia usano il prefisso per 2 ^ 10 che è 1024.


3

La maggior parte dei numeri relativi al computer utilizza prefissi binari, a differenza del sistema SI che utilizza prefissi decimali. Significa che:

  • 1 chilogrammo = 10 3 grammi, ma
  • 1 kilobyte = 2 10 byte

Sono rispettivamente 1000 grammi e 1024 byte. 62563 / 1024 ~= 61, quindi Windows ha ragione.

Tuttavia, non tutto ciò che riguarda il computer si basa su prefissi binari e questa incoerenza spesso porta a fraintendimenti. Questa pagina di Wikipedia descrive quali prefissi vengono utilizzati per misurare cose diverse.

Un caso estremo è la larghezza di banda. In genere utilizza prefissi binari quando espressi in byte al secondo e prefissi decimali quando espressi in bit al secondo. Quindi questa frase è vera:

1 byte al secondo = 8 bit al secondo

Ma questo è falso:

1 kilobyte al secondo = 8 kilobit al secondo

Perché:

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

( domanda correlata )


1
Errore: 2 ^ 8 = 256 ---> Suppongo che dovrebbe essere 2 ^ 10 ;-)
Hannu,

La pagina di discussione del WP è molto più interessante dell'articolo reale (un dibattito molto vasto sul fatto che un KB sia di 1024 o 1000 byte).
Justin Krejcha,

La larghezza di banda è espressa correttamente in Hz, dove i prefissi SI usano potenze di 10. Il motivo del throughput (velocità di trasferimento dei dati, equivalentemente larghezza di banda moltiplicata per l'efficienza di codifica) è ambiguo perché la prima definizione conduce a (KB)/s, dove KB utilizza il prefisso basato su binario e la seconda si basa su kHz o kbaud, usando il decimale prefisso.
Ben Voigt,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.