Byte converteren naar megabytes

Ik heb drie manieren gezien om conversie van bytes naar megabytes uit te voeren:

  1. megabytes=bytes/1000000
  2. megabytes=bytes/1024/1024
  3. megabytes=bytes/1024/1000

Ok, ik denk dat #3 helemaal verkeerd is, maar ik heb het gezien. Ik denk dat #2 gelijk heeft, maar ik ben op zoek naar een gerespecteerde autoriteit (zoals W3C, ISO, NIST, enz.) om te verduidelijken welke megabyte een echte megabyte is. Kan iemand een bron noemen die expliciet uitlegt hoe deze berekening wordt gedaan?

Bonusvraag: als #2 een megabyte is, hoe heten #1 en #3 dan?

BTW: fabrikanten van harde schijven tellen hier niet als autoriteiten mee!


Antwoord 1, autoriteit 100%

Traditioneel bedoelen we met megabyte uw tweede optie — 1 megabyte = 220bytes. Maar het is eigenlijk niet correct omdat mega 1 000 000 betekent. Er is een nieuwe standaardnaam voor 220bytes, het is mebibyte (http://en.wikipedia.org/wiki/Mebibyte) en het wint aan populariteit.


Antwoord 2, autoriteit 24%

Er is een IEC-standaarddie de termen onderscheidt, b.v. Mebibyte = 1024^2 bytes maar Megabyte = 1000^2 (om compatibel te zijn met SI-eenheden zoals kilogram waarbij k/M/… 1000/1000000 betekent). Eigenlijk geven de meeste mensen in de IT-sector de voorkeur aan Megabyte = 1024^2 en fabrikanten van harde schijven geven de voorkeur aan Megabyte = 1000^2 (omdat harde schijven groter zullen klinken dan ze zijn).

In feite zijn de meeste mensen in de war door de IEC-standaard (multiplier 1000) en de traditionele betekenis (multiplier 1024). Over het algemeen moet je geen aannames doen over wat mensen bedoelen. 128 kBit/s voor MP3’s betekent bijvoorbeeld meestal 128000 bits omdat de vermenigvuldiger 1000 meestal wordt gebruikt met de eenheidsbits. Maar vaak noemen mensen dan 2048 kBit/s gelijk aan 2 MBit/s – verwarrend hè?

Dus als algemene regel, vertrouw bit/byte-eenheden helemaal niet 😉


Antwoord 3, autoriteit 16%

BTW: fabrikanten van harde schijven tellen hier niet als autoriteiten mee!

O ja, dat doen ze (en de definitie die ze aannemen van de SIis de juiste ). Zie dit berichtop een gerelateerd probleem CodingHorror.


Antwoord 4, autoriteit 15%

Deel door 2tot de macht 20, (1024*1024)bytes = 1megabyte

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

Het is hetzelfde.


Antwoord 5, autoriteit 3%

Dit is wat de standaard (SI) zegt:

http://physics.nist.gov/Pubs/SP330 /sp330.pdf#page=34


Antwoord 6, autoriteit 2%

Het antwoord is dat # 1 technisch correct is, gebaseerd op de echte betekenis van het Mega-voorvoegsel, maar (en in het leven is er altijd een echter) de wiskunde daarvoor komt niet zo mooi uit in basis 2, dat is hoe computers tellen, dus #2 is wat mensen echt gebruiken.


Antwoord 7, autoriteit 2%

Gebruik de berekening die uw gebruikers waarschijnlijk verwachten. Willen uw gebruikers weten hoeveel daadwerkelijke bytes er op een schijf of in het geheugen staan of wat dan ook, of geven ze alleen om de bruikbare ruimte? Het antwoord op die vraag vertelt je welke berekening het meest logisch is.

Dit is niet zozeer een precisievraag als wel een bruikbaarheidsvraag. Geef de berekening die het nuttigst is voor uw gebruikers.


Antwoord 8

Megabyte betekent 2^20 bytes. Ik weet dat dat technisch gezien niet past bij de SI-eenheden, en dat sommige mensen een nieuwe terminologie hebben bedacht om 2^20 te betekenen. Dat doet er allemaal niet toe. Pogingen om de taal te veranderen om dingen te “verduidelijken” zijn gedoemd te mislukken.

Fabrikanten van harde schijven gebruiken het om 1.000.000 bytes aan te duiden, want dat is wat het betekent in SI, dus ze denken technischdat ze niet liegen (terwijl ze dat wel zijn). Dat valt onder leugens, verdomde leugens en marketing.


Antwoord 9

Over het algemeen is het verkeerd om decimale SI-voorvoegsels (bijv. kilo, mega) te gebruiken bij het verwijzen naar binaire gegevensgroottes (behalve bij incidenteel gebruik). Het is dubbelzinnig en zorgt voor verwarring. Om precies te zijn kun je binaire voorvoegselsgebruiken (bijv. 1 mebibyte = 1 MiB = 1024 kibibytes = 2 ^20 bytes). Wanneer iemand anders decimale SI-prefixen gebruikt voor binaire gegevens, moet u meer informatie krijgen voordat u weet wat er wordt bedoeld.

Other episodes