To pytanie sprawiło ,że zastanawiałem się nad różnicami między tymi trzema sposobami pomiaru wielkości: kibibajt , kilobit i konwencjonalny kilobajt .
Rozumiem, że pomiary te mają różne zastosowania (szybkość przesyłania danych jest mierzona w bitach / s), ale nie jestem pewien, czy potrafię odróżnić Mb i MB od MiB.
Oto komentarz, odtworzony poniżej, zaczerpnięty z tej odpowiedzi ( moje podkreślenie ).
C64 ma 65536 bajtów pamięci RAM. Zgodnie z konwencją rozmiar pamięci jest określany w kibiBajtach , szybkości przesyłania danych w kilobitach i pamięć masowa w bajtach dowolnych producentów, którzy myślą o teraz . Dyski twarde używają T, G, M i k na etykiecie, Windows zgłasza rozmiar w Ti , Gi , Mi i ki . A te dyskietki 1,44 MB? Nie są to 1,44 MB ani 1,44 MB, mają 1,44 kilokibibitu. To 1440kiB lub 1'474'560 bajtów. - po trzecie
źródło
Odpowiedzi:
Tak samo jest z dowolnym prefiksem SI;
k
(1x10 3 ),M
(1x10 6 ),G
(1x10 9 ), a zatem:Jedyne, które są nieco inne, to prefiksy binarne IEC (kibi / mebi / gibi itp.), Ponieważ znajdują się w bazie 2, a nie w bazie 10 (np. Wszystkie liczby są równe 2 coś zamiast 10 czegoś ). Wolę po prostu używać przedrostków SI, ponieważ uważam, że jest to o wiele łatwiejsze. Ponadto Kanada (mój kraj) korzysta z systemu metrycznego, więc jestem przyzwyczajony na przykład do
1kg = 1000g
(lub1k anything = 1000 base things
). Żadne z nich nie jest złe ani słuszne; po prostu upewnij się, że wiesz, którego używasz i co to naprawdę oznacza.Aby uspokoić komentujących:
Dlatego jeśli kiedykolwiek spojrzałeś na edytor szesnastkowy, wszystko jest podzielone na dwa znaki szesnastkowe; każdy znak szesnastkowy ma rozmiar skubka, a bajt ma dwa znaki. Na przykład:
źródło
500GB (box) = 465.7GiB (computer)
(i w ten sposób cię zdobywają).Istnieje kilka podstawowych terminów, które są proste i łatwe do zrozumienia:
Aby przekonwertować między bitami i bajtami (z dowolnym prefiksem), wystarczy pomnożyć lub podzielić przez osiem; ładny i prosty.
Teraz sprawy stają się nieco bardziej skomplikowane, ponieważ istnieją dwa systemy pomiaru dużych grup danych: dziesiętny i binarny . Przez lata programiści i inżynierowie komputerowi używali tych samych terminów w obu przypadkach, ale zamieszanie w końcu wywołało pewne próby standaryzacji odpowiedniego zestawu prefiksów.
Każdy system używa podobnego zestawu prefiksów, które można zastosować do bitów lub bajtów. Wszystkie prefiksy zaczynają się tak samo w obu systemach, ale te dwójkowe brzmią jak baby-talk.
System dziesiętny to podstawa-10, do której większość ludzi jest przyzwyczajona i wygodna w użyciu, ponieważ mamy 10 palców. System binarny to podstawa 2, do której większość komputerów jest przyzwyczajona i wygodna w użyciu, ponieważ mają dwa stany napięcia.
System dziesiętny jest oczywisty i łatwy w użyciu dla większości ludzi (wystarczy pomnożyć w naszych głowach). Każdy prefiks wzrasta o 1000 (powodem jest zupełnie inna sprawa).
System binarny jest znacznie trudniejszy w użyciu dla większości osób niebędących komputerami, a nawet programiści często nie potrafią umieścić w swoich głowach dowolnie dużych liczb. Niemniej jednak jest to prosta kwestia bycia wielokrotnością dwóch. Każdy prefiks rośnie o 1024. Jedno „K” wynosi 1024, ponieważ jest to najbliższa potęga dwóch do dziesiętnej „k” równej 1000 (może to być prawda w tym momencie, ale różnica gwałtownie rośnie z każdym kolejnym prefiksem).
Liczby są takie same dla bitów i bajtów o tym samym prefiksie.
Zauważ, że różnica między systemem dziesiętnym a binarnym zaczyna się od małego (przy 1K, mają tylko 24 bajty lub 2,4% od siebie), ale rośnie z każdym poziomem (przy 1G, są> 70MiB lub 6,9% od siebie).
Zasadniczo urządzenia sprzętowe używają jednostek dziesiętnych (bitów lub bajtów), podczas gdy oprogramowanie korzysta z wartości binarnych (zwykle bajtów).
To jest powód, dla którego niektórzy producenci, szczególnie dyski MFG, lubią używać jednostek dziesiętnych, ponieważ sprawia, że rozmiar dysku wydaje się większy, ale użytkownicy są sfrustrowani, gdy stwierdzą, że ma mniej niż się spodziewali, widząc Windows i in. glin. zgłoś rozmiar w formacie binarnym. Na przykład 500 GB = 476GiB, więc mimo że dysk zawiera 500 GB i jest oznaczony jako taki, Mój komputer wyświetla binarne 476GiB (ale jako „476GB”), więc użytkownicy zastanawiają się, dokąd poszły pozostałe 23 GB. (Producenci dysków często dodają przypis do pakietów, który mówi, że „sformatowany rozmiar jest mniejszy”, co jest mylące, ponieważ narzut systemu plików jest niczym w porównaniu z różnicą między jednostkami dziesiętnymi i binarnymi).
Urządzenia sieciowe często używają bitów zamiast bajtów ze względów historycznych, a dostawcy usług internetowych często lubią reklamować się za pomocą bitów, ponieważ sprawia, że oferowana przez nich prędkość połączeń jest większa: 12 Mb / s zamiast zaledwie 1,5 Mb / s. Często nawet miksują i dopasowują bity i bajty oraz dziesiętne i binarne. Na przykład możesz zasubskrybować to, co ISP nazywa linią „12 MB / s”, myśląc, że otrzymujesz 12 Mb / s, ale w rzeczywistości tylko 1,43 Mb / s (12 000 000/8/1024/1024).
źródło
Niektóre odpowiedzi nie są dokładne.
Zróbmy najpierw kilka notatek:
Przedrostek „kilo” oznacza 1 000. Przedrostek „kilo” oznacza cokolwiek 1 000 tego elementu. To samo dotyczy „mega” lub miliona, „giga” lub miliarda, „tera” lub tryliona i tak dalej.
Powodem 1 024 zamiast zwykłego posiadania 1000 jest sposób, w jaki działa arytmetyka binarna. Binarny, jak sama nazwa wskazuje, jest systemem bazowym 2 (ma 2 cyfry: 0, 1). Może wykonywać arytmetykę tylko z dwiema cyframi, w przeciwieństwie do podstawowego systemu 10, którego używamy na co dzień (0, 1, 2 ... 9), który ma dziesięć cyfr.
Aby dostać się do liczby 1000 ( kilogramów ) za pomocą arytmetyki binarnej, konieczne jest wykonanie obliczeń zmiennoprzecinkowych. Oznacza to, że cyfra binarna musi być przenoszona przy każdej operacji, aż do osiągnięcia 1000. W systemie base 10, 1000 = 10 3 (zawsze podbijasz 10 do potęgi w bazie 10), bardzo łatwe i szybkie obliczenia dla komputera bez „resztek”, ale w systemie base 2 jest to nie jest możliwe podniesienie 2 (zawsze podnosisz 2 do potęgi w podstawie 2) do dodatniej liczby całkowitej, aby uzyskać 1 000. Należy użyć operacji zmiennoprzecinkowej lub długiego dodawania, a jej wykonanie zajmuje więcej czasu niż obliczenie liczby całkowitej 2 10 = 1024.
Być może zauważyłeś, że 2 10 = 1 024 jest kusząco zbliżone do 1 000, a 1 024 do 1 znacząca liczba to 1 000 (bardzo dobre przybliżenie), a wstecz, gdy szybkość procesora była niska jak stary pies, a pamięć była bardzo ograniczona , było to całkiem przyzwoite przybliżenie i bardzo łatwe w obsłudze, nie mówiąc już o szybkim wykonaniu.
Z tego powodu są to określenia „kilo”, „mega”, „giga” itd., Przedrostki przyklejone do nieprecyzyjnych liczb (1 024, 2 048, 4 096 itd.). Nigdy nie miały być dokładnymi liczbami, były binarnymi przybliżeniami liczb podstawowych 10. Po prostu powstały jako żargonowe słowa używane przez ludzi „technicznych”.
Aby jeszcze bardziej skomplikować sprawę, JEDEC stworzył własne standardy dla jednostek wykorzystywanych w półprzewodnikowych obwodach pamięci. Porównajmy niektóre jednostki JEDEC z jednostkami SI (standardowe międzynarodowe):
Kb = Kilobit (JEDEC, 1 024 bity. Zwróć uwagę na wielkie litery „K” i małe litery „b”)
kB = kilobit (SI, 1000 bitów. Zwróć uwagę na małe litery „k” i wielkie litery „B”)
b = bit (JEDEC, zwróć uwagę na małe litery „b”)
b = ??? (SI nie definiuje słowa „bit”, więc jego użycie może być dowolne)
B = bajt (JEDEC, 8 bitów. Zwróć uwagę na wielkie litery „B”)
B = ???? (SI nie definiuje słowa „bajt”, a „B” jest używany dla „Bel” [jak w DeciBel])
KB = kilobajt (JEDEC, 1 024 bajtów. Zwróć uwagę na wielkie litery „K” i „B”)
kb = kilobajt (SI, 1 000 bajtów. Zwróć uwagę na użycie małych liter „k” i małych liter „B”)
Chodzi o to, że różne miejsca używają różnych prefiksów z różnymi definicjami. Nie ma twardej i szybkiej reguły, której należy użyć, ale należy zachować zgodność z tą, której używasz.
Z powodu głosowania w dół, pozwól mi wyjaśnić, dlaczego nie możesz zarobić 1000 w systemie binarnym, podnosząc go do dowolnej dodatniej liczby całkowitej.
System binarny:
Zauważ, że w systemie binarnym kolumny podwajają się za każdym razem. Jest to w przeciwieństwie do systemu podstawowego 10, który zwiększa się o 10 za każdym razem:
Pierwsze 10 mocy w systemie binarnym (baza 2) to:
2 0 = 1
2 1 = 2
2 2 = 4
2 3 = 8
2 4 = 16
2 5 = 32
2 6 = 64
2 7 = 128
2 8 = 256
2 9 = 512
2 10 = 1024
Jak widać, nie można podnieść liczby binarnej 2 do dodatniej liczby całkowitej, aby osiągnąć 1000.
źródło