Conversione da byte a megabyte


103

Ho visto tre modi per eseguire la conversione da byte a megabyte:

  1. megabyte = byte / 1000000
  2. megabyte = byte / 1024/1024
  3. megabyte = byte / 1024/1000

Ok, penso che il numero 3 sia totalmente sbagliato ma l'ho visto. Penso che il numero 2 sia corretto, ma sto cercando un'autorità rispettata (come W3C, ISO, NIST, ecc.) Per chiarire quale megabyte è un vero megabyte. Qualcuno può citare una fonte che spiega esplicitamente come viene fatto questo calcolo?

Domanda bonus: se il numero 2 è un megabyte come si chiamano il numero 1 e il numero 3?

BTW: I produttori di dischi rigidi non contano come autorità su questo!


3
Produttori di hard disk non contano come autorità su questo, nella misura in cui il loro utilizzo di megabyte al senso media # 1 è alla guida accettazione di tale conversione. Nota che i sistemi operativi Microsoft usano ancora il senso # 2, però.
Michael Petrotta

3
# 3 dovrebbe essere chiamato un floppy megabyte. I floppy da 3½ pollici erano abbastanza notevoli per l'utilizzo di questo (e non ricordo di averlo visto altrove).
Michael Madsen

15
E l'obbligatorio: xkcd.com/394
Seva Alekseyev

4
Uomo oh uomo. Tra questo e la codifica del testo, a volte mi dispero per la nostra infallibile capacità di aggiungere complicati nodi alle cose più elementari.
Paul D. Waite

4
I produttori di dischi rigidi molto probabilmente usano # 1 per ottenere il numero più alto. Per GB la differenza è del 7% e per TB la differenza è del 10%.
Peter Mortensen

Risposte:


115

Tradizionalmente per megabyte si intende la seconda opzione: 1 megabyte = 2 20 byte. Ma in realtà non è corretto perché mega significa 1 000 000. C'è un nuovo nome standard per 2 20 byte, è mebibyte ( http://en.wikipedia.org/wiki/Mebibyte ) e sta guadagnando popolarità.


10
Sono d'accordo con tutto questo, tranne per l'implicazione che sta raccogliendo molta popolarità. La condivisione mentale di 1024 = K e amici è effettivamente invulnerabile. Quando fai in modo che la gente inizi a dire "cracker" invece di "hacker", torna da me.
TED

5
Non sottovoce per la menzione eretica di "mebibyte", ma ci vuole un grande sforzo.
aehiilrs

3
@ TED: in realtà, l'uso di "hacker" per significare "cracker" è un perfetto esempio di cultura popolare che prevale sull'uso che i geek preferirebbero.
Michael Petrotta

2
era la mia sensazione personale che mebibyte stesse guadagnando popolarità, forse mi sbaglio. Ho visto su alcune dimensioni del sito di download piuttosto popolari mostrate in MiB e KiB.
Andrey

1
Bene, sono d'accordo con te e uso anche mega a 10 basi e kibi e mebi a 2 basi. Questo è lo standard IEC per l'uso metrico: questo è definitivo e non serve a niente.
Zan Lynx

27

Esiste uno standard IEC che distingue i termini, ad esempio Mebibyte = 1024 ^ 2 byte ma Megabyte = 1000 ^ 2 (per essere compatibile con unità SI come chilogrammi dove k / M / ... significa 1000/1000000). In realtà la maggior parte delle persone nell'area IT preferirà Megabyte = 1024 ^ 2 ei produttori di hard disk preferiranno Megabyte = 1000 ^ 2 (perché le dimensioni del disco rigido suoneranno più grandi di quanto non siano).

In effetti, la maggior parte delle persone è confusa dallo standard IEC (moltiplicatore 1000) e dal significato tradizionale (moltiplicatore 1024). In generale non dovresti fare supposizioni su ciò che le persone intendono. Ad esempio, 128 kBit / s per MP3 di solito significa 128000 bit perché il moltiplicatore 1000 viene utilizzato principalmente con i bit di unità. Ma spesso le persone poi chiamano 2048 kBit / s pari a 2 MBit / s - confondendo eh?

Quindi, come regola generale, non fidarti affatto delle unità bit / byte;)


17

BTW: I produttori di dischi rigidi non contano come autorità su questo!

Oh, sì lo fanno (e la definizione che assumono dall'IS è quella corretta). Su un problema correlato, vedere questo post su CodingHorror.


4
Mi dispiace downvoter, ma la loro definizione di Mega è quella corretta, non importa cosa pensano i programmatori. Posso convivere con M = 2 ^ 20, va bene, ma è solo per ragioni storiche.
Federico A. Ramponi

+1 per la moxie di stare con le società HD e gli entusiasti degli standard SI contro tutti gli altri!
Jeffrey L Whitledge

11
Grazie Jeffrey :), ma non sono solo le società HD: la tua CPU raggiunge 2600 MHz; Il tuo processore matematico esegue XY Mflops; Ethernet fa 100 Mbit / s; La tua fotocamera fa 5 Mpixel; La velocità 1x del Blu-ray è di 36 Mbit / s ... Tutte queste "M" stanno per 10 ^ 6, non 2 ^ 20.
Federico A. Ramponi

-1 Non sono sicuro di seguire questa risposta. Quale produttore di hard disk ha fatto una definizione? Non credo che CodingHorror produca dischi rigidi? Sto cercando un'autorità e un produttore di dischi rigidi avrebbe troppi pregiudizi per essere obiettivo.
Utente1

1
L '"autorità" che sostiene M = 10 ^ 6 è l'International Bureau of Weights and Measures. Per quanto ne so, non esiste alcuna "autorità", oltre alla consuetudine, che supporti M = 2 ^ 20.
Federico A. Ramponi

16

Dividi 2per la potenza di 20, (1024*1024)byte = 1megabyte

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

E 'la stessa cosa.



3

La risposta è che # 1 è tecnicamente corretto in base al vero significato del prefisso Mega, tuttavia (e nella vita c'è sempre un tuttavia) la matematica per questo non risulta così piacevole in base 2, che è come contano i computer , quindi il n. 2 è ciò che le persone usano davvero.


2

Usa il calcolo che molto probabilmente gli utenti si aspettano. Ai tuoi utenti interessa sapere quanti byte effettivi ci sono su un disco o in memoria o altro, oppure si preoccupano solo dello spazio utilizzabile? La risposta a questa domanda ti dirà quale calcolo ha più senso.

Questa non è una domanda di precisione tanto quanto una questione di usabilità. Fornisci il calcolo più utile per i tuoi utenti.


1

Megabyte significa 2 ^ 20 byte. So che tecnicamente questo non coincide con le unità SI e che alcune persone hanno escogitato una nuova terminologia per indicare 2 ^ 20. Niente di tutto questo importa. Gli sforzi per cambiare la lingua per "chiarire" le cose sono destinati al fallimento.

I produttori di dischi rigidi lo usano per indicare 1.000.000 di byte, perché questo è ciò che significa in SI, quindi immaginano tecnicamente di non mentire (mentre in realtà lo sono). Ciò rientra nelle bugie, maledette bugie e nel marketing.


0

In generale, è sbagliato usare prefissi SI decimali (es. Kilo, mega) quando si fa riferimento a dimensioni di dati binari (eccetto nell'uso casuale). È ambiguo e causa confusione. Per essere precisi puoi usare prefissi binari (es. 1 mebibyte = 1 MiB = 1024 kibibyte = 2 ^ 20 byte). Quando qualcun altro utilizza prefissi SI decimali per dati binari, è necessario ottenere maggiori informazioni prima di poter sapere cosa si intende.

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.