Konwersja jednostek pamięci: KB, MB, GB, TB i 512-bajtowy blok

Sprawdź, w jaki sposób szybko konwertować jednostki rozmiaru pamięci komputerowej wyrażone w KB, MB, GB, TB i 512-bajtowych blokach.

W branży IT bardzo często zachodzi konieczność konwersji pomiędzy jednostkami rozmiaru pamięci komputerowej wyrażonej w bajtach, kilobajtach, megabajtach, gigabajtach, terabajtów itd. Żeby sprawa było jeszcze bardziej skomplikowana, standard POSIX określa również, że wyjście domyślne dla komend takich jak „df” i „du” musi być określana w 512-bajtowych blokach.

Ten wpis pomoże Ci nauczyć się w bardzo łatwy i nieskomplikowany sposób, jak konwertować wielkości pomiędzy jednostkami informacji pamięci komputerowej.

Kilobajt, Megabajt, Gigabajt vs. Kibibajt, Mebibaj, Gibibajt

W przeszłości istniała rozbieżność, czy raczej spór o to ile to jest kilobajt, megabajt, czy gigabajt. Jeśli zapytamy producentów dysków twardych, to oni powiedzą, że gigabajt odpowiada 1.000.000.000 bajtów. Jednak większość systemów operacyjnych oblicza gigabajt jako 1.073.741.824 (czyli 1024 * 1024 * 1024 bajtów). Różnica między tymi dwoma rozumieniami gigabajta wynosi aż 7%, a im większy rozmiar tym ta rozbieżność jest jeszcze większa. W przypadku terabajta różnica wyniosłaby aż 9% wielkości.

Rozwiązaniem tego problemu było oficjalne ustalenie, że Gigabajt (GB) to 1.000.000.000 bajtów, a Gibibajt (GiB) to 1.073.741.824 bajtów.

Nie wiem jak Wy, ale ja nigdy nie słyszałem aby ktokolwiek mówił, że jego smartfon ma dysk 32 Gibibajty (GiB) wielkości. Przez resztę tego wpisu będę odnosił się zatem do gigabajtów jako odpowiednika 1.073.741.824 bajtów, ponieważ jest to powszechne nazewnictwo, które przyjęło się w komunikacji pomimo, że jest to niezgodne z definicją podręcznikową.

Przedrostki binarne (dwójkowe) - tabela
Przedrostki binarne (dwójkowe)

Wielokrotności bajtów

przedrostki dziesiętne (SI)przedrostki binarne (IEC 60027-2)
nazwasymbolmnożniknazwasymbolmnożnik
kilobajtkB10^3 = 1000^1kibibajtKiB2^10 = 1024^1
megabajtMB10^6 = 1000^2mebibajtMiB2^20 =1024^2
gigabajtGB10^9 = 1000^3gibibajtGiB2^30 = 1024^3
terabjtTB10^12 = 1000^4tebibajtTiB2^40 = 1024^4
petabajtPB10^15 = 1000^5pebibajtPiB2^50 = 1024^5
eksabajtEB10^18 = 1000^6exbibajtEiB2^60 = 1024^6
zettabajtZB10^21 = 1000^7zebibajtZiB2^70 = 1024^7
jottabajtYB10^24 = 1000^8jobibajtYiB2^80 = 1024^8

Niewłaściwy sposób zamiany jednostek wielkości pamięci komputerowej

Wiele osób niewłaściwie zamienia wielkość pliku lub przestrzeni dyskowej. Widząc rozmiar np. 54.183.672.092 bajtów  wielu powie, że jest to około 54 GB, opierając się tylko na pierwszy dwóch cyfrach.

W rzeczywistości, jest to naprawdę 50,5 GB (czyli 54.183.672.092 podzielone przez 1.073.741.824 (wielkość 1 GB) równa się ~ 50,5 GB). Im większy rozmiar pliku, tym większa będzie różnica pomiędzy wielkością, która wydaje nam się być na pierwszy rzut oka a ta którą jest w rzeczywistości.

Stąd tez bierze się często różnica wielkości pamięci smartfona, którą podaje producent w gigabajtach, a system operacyjny pokazuje mniej.

Szybki i łatwy sposób na konwersję pomiędzy jednostkami wielkości (KB, MB, GB i TB)

Szczęśliwie istnieje bardzo szybki i łatwy sposób zamiany kilobajtów, megabajtów gigabajtów i terabajtów. Dzięki tej metodzie jedyna liczba, jaką trzeba zapamiętać to 1024. Następnie musisz zapamiętać nazwę i kolejność rozmiarów jednostek: kilobajt, megabajt, gigabajt i terabajt.

Konwersja mniejszych jednostek do większych

Aby przekonwertować mniejsze jednostki na większe (czyli zamienić bajtów na kilobajty, megabajty, gigabajty, lub terabajty) trzeba po prostu podzielić pierwotną liczbę przez 1024 dla każdej wielkości po kolei.

Na przykład, jeśli chcesz przekonwertować 110.214.321.212 bajtów na megabajty, należy podzielić je przez 1024 (najpierw przekonwertować do KB), a następnie ponownie podzielić przez 1024 (aby w wyniku otrzymać wielkość w MB). Jeśli chcesz przekonwertować ją do gigabajtów, należy podzielić wyjściową wielkość przez 1024 trzy razy (raz, aby otrzymać KB, dwa do MB, a następnie do GB).

Konwersja większych jednostek do mniejszych

Aby przekonwertować większe jednostki na mniejsze (czyli przekształcić gigabajty (GB) na megabajty, kilobajty i w końcu na bajty) należy po prostu pomnożyć pierwotną liczbę przez 1024 dla każdej wielkości po kolei do określonej jednostki. Na przykład, jeśli chcesz przekonwertować 384 megabajtów (MB) na bajty, to musisz pomnożyć tę liczbę dwa razy przez 1024 (po pierwszym mnożeniu otrzymasz liczbę w KB, a za drugim razem w bajtach).

Jeśli chcesz przekształcić 14 TB na bajty, należy 14 pomnożyć 1024 cztery razy (za pierwszym razem otrzymamy wielkość w GB, następnie w MB, KB i w końcu w bajtach).

Poniższy schemat obrazuje sposób konwersji jednostek pamięci komputerowej (TB → GB → MB → KB → B i odwrotnie):

Schemat konwersji jednostek pamięci komputerowej
Schemat konwersji jednostek pamięci komputerowej

Oto kilka przykładów:

  • Konwersja 67.003.324.746 bajtów do gigabajtów: 67003324746/1024/1024/1024 = 62,40 GB (należy podzielić przez 1024 trzy razy, ponieważ po drodze są 3 jednostki: KB, MB i GB).
  • Konwersja 67.003.324.746 bajtów do megabajtów: 67003324746/1024/1024 = 63,899 MB (należy podzielić przez 1024 dwa razy, ponieważ po drodze są 2 jednostki: KB i MB).
  • Konwersja 8.846.679 MB do terabajtów: 8846679/1024/1024 = 8,44 TB (należy podzielić przez 1024 dwa razy, ponieważ po drodze są 2 jednostki: GB i TB).
  • Konwersja 78 GB do bajtów: 78*1024*1024*1024 = 83.751.862.272 Bajtów (należy pomnożyć GB trzy razy przez 1024, ponieważ po drodze zamieniamy 3 jednostki większe do mniejszych: MB, KB i B).
  • Konwersja 52 TB do gigabajtów: 52*1024 = 53,248 GB (należy pomnożyć przez 1024 jeden raz, ponieważ przy zmianie na mniejszą jednostkę po drodze przechodzimy tylko raz: GB).

Ostatnim elementem układanki jest blok 512 bajtów

Dane na dysku fizycznie są pamiętane w blokach o długości z reguły 512 B, 1KB, 2KB, 4KB (wielokrotność 512 bajtów – długości sektora na dysku twardym). Sektor jest zapisywany i czytany zawsze w całości. Ze względów historycznych wielkość sektora wynosi 512 bajtów. Na nośnikach magnetycznych w momencie formatowania nośnika na dysku zapisywane są znaczniki początków sektorów, za którymi zapisywane są dane.

Istnieje kilka metod konwersji 512-bajtowych bloków na coś bardziej sensownego:

  • Można przekonwertować 512-bajtowe bloki na kilobajty, dzieląc je przez 2. Na przykład, sześć 512-bajtowych bloków podzielonych przez dwa równa 3 KB.
  • Można przekonwertować 512-bajtowe bloki na bajty mnożąc przez 512. Na przykład, sześć 512-bajtowych bloków pomnożone przez 512 wynosi 3072 bajtów.

Po dokonaniu konwersji 512-bajtowych bloków na kilobajty lub bajty, można je następnie łatwo przekonwertować je na dowolne inna jednostki. Konwersja między jednostkami rozmiaru pamięci jest wiele łatwiejsza niż może się wydawać. Wszystko, co musisz zrobić, to zapamiętać liczbę 1024 i kilka prostych zasad, a będziesz na najlepszej drodze do szybkiej i łatwej zamiany jednostek wielkości dysków, plików i innych rzeczy wyrażonych w tych jednostkach.

źródło: Wikipedia – Przedrostki binarne (dwójkowe), TechSpot – Quickly convert between storage size units: KB, MB, GB, TB & 512 byte blocks