Widziałem trzy sposoby wykonywania konwersji z bajtów na megabajty:
- megabajty = bajty / 1000000
- megabajty = bajty / 1024/1024
- megabajty = bajty / 1024/1000
Ok, myślę, że numer 3 jest całkowicie błędny, ale widziałem to. Myślę, że punkt 2 ma rację, ale szukam jakiegoś szanowanego autorytetu (takiego jak W3C, ISO, NIST itp.), Aby wyjaśnić, który megabajt to prawdziwy megabajt. Czy ktoś może przytoczyć źródło, które wyraźnie wyjaśnia, w jaki sposób wykonuje się te obliczenia?
Pytanie dodatkowe: jeśli nr 2 to megabajt, jakie są nazywane numery 1 i 3?
BTW: Producenci dysków twardych nie liczą się jako autorytety w tej sprawie!
math
memory
terminology
units-of-measurement
Użytkownik1
źródło
źródło
Odpowiedzi:
Tradycyjnie przez megabajt mamy na myśli drugą opcję - 1 megabajt = 2 20 bajtów. Ale w rzeczywistości nie jest to poprawne, ponieważ mega oznacza 1 000 000. Jest nowa standardowa nazwa dla 2 20 bajtów, jest to mebibajt ( http://en.wikipedia.org/wiki/Mebibyte ) i zyskuje na popularności.
źródło
Istnieje norma IEC, która rozróżnia te terminy, np. Mebibyte = 1024 ^ 2 bajty, ale Megabajt = 1000 ^ 2 (aby zachować zgodność z jednostkami SI, takimi jak kilogramy, gdzie k / M / ... oznacza 1000/1000000). W rzeczywistości większość ludzi z obszaru IT woli Megabajt = 1024 ^ 2, a producenci dysków twardych będą preferować Megabajt = 1000 ^ 2 (ponieważ rozmiary dysków twardych będą brzmiały większe niż są).
W rzeczywistości większość ludzi jest zdezorientowana standardem IEC (mnożnik 1000) i tradycyjnym znaczeniem (mnożnik 1024). Generalnie nie powinieneś zakładać, co ludzie mają na myśli. Na przykład 128 kBit / s dla plików MP3 zwykle oznacza 128000 bitów, ponieważ mnożnik 1000 jest najczęściej używany z bitami jednostkowymi. Ale często ludzie dzwonią wtedy do 2048 kBit / s równych 2 MBit / s - mylące, co?
Dlatego generalnie nie ufaj w ogóle jednostkom bit / bajt;)
źródło
Aha, tak (i definicja, jaką przyjmują z SI jest poprawna). Jeśli chodzi o podobny problem, zobacz ten post w witrynie CodingHorror.
źródło
Podziel przez
2
do potęgi20
,(1024*1024)
bajtów =1
megabajtówTo jest to samo.
źródło
Oto, co mówi norma (SI):
http://physics.nist.gov/Pubs/SP330/sp330.pdf#page=34
źródło
Odpowiedź jest taka, że numer 1 jest poprawny technicznie w oparciu o prawdziwe znaczenie przedrostka Mega, jednak (aw życiu zawsze jest jednak) matematyka dla tego nie wychodzi tak dobrze w bazie 2, czyli jak liczą się komputery , więc numer 2 jest tym, czego ludzie naprawdę używają.
źródło
Użyj obliczeń, których najprawdopodobniej spodziewają się Twoi użytkownicy. Czy Twoim użytkownikom zależy na tym, aby wiedzieć, ile rzeczywistych bajtów znajduje się na dysku, w pamięci lub czymkolwiek, czy też zależy im tylko na dostępnej przestrzeni? Odpowiedź na to pytanie powie ci, które obliczenia są najbardziej sensowne.
To nie jest kwestia precyzji, ale kwestia użyteczności. Podaj obliczenia, które są najbardziej przydatne dla użytkowników.
źródło
Megabajt oznacza 2 ^ 20 bajtów. Wiem, że technicznie rzecz biorąc, nie pasuje to do jednostek SI, i że niektórzy ludzie wymyślili nową terminologię, oznaczającą 2 ^ 20. Nic z tego nie ma znaczenia. Wysiłki zmierzające do zmiany języka w celu „wyjaśnienia” rzeczy są skazane na niepowodzenie.
Producenci dysków twardych używają tego do określenia 1 000 000 bajtów, ponieważ to właśnie oznacza w SI, więc technicznie rzecz biorąc, uważają, że nie kłamią (podczas gdy w rzeczywistości są). To podpada pod kłamstwa, cholerne kłamstwa i marketing.
źródło
Ogólnie rzecz biorąc, używanie dziesiętnych prefiksów SI (np. Kilo, mega) w odniesieniu do binarnych rozmiarów danych (z wyjątkiem zwykłego użycia) jest niewłaściwe. Jest niejednoznaczny i powoduje zamieszanie. Aby być precyzyjnym, możesz użyć przedrostków binarnych (np. 1 mebibajt = 1 MiB = 1024 kibibajtów = 2 ^ 20 bajtów). Gdy ktoś inny używa dziesiętnych przedrostków SI dla danych binarnych, musisz uzyskać więcej informacji, zanim będziesz wiedział, o co chodzi.
źródło