Skocz do zawartości


Zdjęcie

Jednostki rozmiaru w komputerach kb, KB, MB, GB (przeliczanie)


  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 Ziele

Ziele

    Biblioteka Zielińskiego

  • 1 812 postów

Napisano 22 03 2008 - 21:15

Twierdzisz, że jesteś specem od komputerów? Jeżeli odpowiedź na to pytanie zabrzmiała tak to teraz odpowiedz sobie na pytanie czy potrafisz bezbłędnie przeliczać jednostki w komputerze? Jeżeli tym razem odp brzmi nie zapraszam dalej :P


  • bit = najmniejsza jednostka, czyli zero lub jeden w systemie dwójkowym (bity oznaczamy w pisowni polskiej małą literą b , natomiast w pisowni angielskiej spotykane są wymiennie dwa rodzaje oznaczeń bitów: bits oraz mała literka b)
  • bajt = 8 bitów (bajty oznaczamy w pisowni polskiej dużą literą B lub ang. bytes)
  • choć nie zajmuję się tutaj wyliczaniem jednostek w odstępach czasowych, myślę, że należy wyjaśnić ewentualną obecność literki s na końcu, czyli w praktyce np. kbs , kbytes/s. Oznacza to ilość jednostek (kb, kbytes) na sekundę. Uwaga: dostawcy Internetu najczęściej podają prędkość transmisji w kilobitach na sekundę (kb/s lub kbps - kilobits per second), a przeglądarki internetowe generalnie podczas pobierania danych pokazują wartości wyrażone w kilobajtach na sekundę (KB/s lub Kbytes/s).

:P


kilo (pisane z małej litery) = mnożnik 1000 w układzie SI
Kilo (pisane z dużej litery) = mnożnik 1024 w układzie informatycznym
mega (pisane z małej litery) = mnożnik 10002 w układzie SI
Mega (pisane z dużej litery) = mnożnik 10242 w układzie informatycznym
giga (pisane z małej litery) = mnożnik 10003 w układzie SI
Giga (pisane z dużej litery) = mnożnik 10243 w układzie informatycznym

Nieszczęście polega na tym, że ten sam przedrostek kilo/mega/giga w zależności od pisowni (mała lub duża pierwsza litera) jest związany z innym mnożnikiem 1000 lub 1024 (do potęgi 1, 2, 3).

Dodatkowo komplikacje wywołuje niekonsekwencja w pisowni polsko/angielskiej:
bajty - w polskim skrócie B literka B jest duża, natomiast w angielskim skrócie bytes literka b jest mała
bity - w polskim skrócie b literka b jest mała, natomiast w pisowni angielskiej spotykane są wymiennie dwa rodzaje oznaczeń bitów: bits oraz mała literka b.


:P


1 KB = 1024 B (KB - kilobajt)
1 MB = 1024 KB (MB - megabajt)
1 GB = 1024 MB (GB - gigabajt)
1 TB = 1024 GB (TB - terabajt)
1 PB = 1024 TB (PB - petabajt)
1 EB = 1024 PB (EB - eksabajt)
1 ZB = 1024 EB (ZB - zettabajt)
1 YB = 1024 ZB (YB - jottabajt)
1 BB = 1024 YB (BB - brontobajt)


xD


Największą trudnością podczas wyliczeń stał się... wybór pomiędzy dwiema TECHNIKAMI wyliczeń.

Algorytm zastosowany w poniższym formularzu jest następujący:
- przeliczenie wprowadzonych danych do bitów
- przeliczenie z bitów do wyjściowych jednostek

Mamy do wyboru dwa sposoby wyliczania:
  • obliczyć wynik tradycyjnie, czyli z możliwie największą dokładnością po przecinku
  • z podanej wartości (np. MB) wyliczyć ilość bitów BEZ PRZECINKA i dopiero tak "okrojony" wynik przemnożyć przez współcznynniki
W wersji A nie martwimy się, czy podana wartość np. 23,45MB da pełne bity bez przecinka, zwracając uwagę na DOKŁADNOŚĆ MATEMATYCZNĄ.
W wersji B mamy wynik matematycznie "niedokładny", ale z technicznego punktu widzenia najbardziej obiektywny. Pamietajmy bowiem, że bitów nie wolno podawać w ułamku z prostego powodu: gdyż bit to najmniejsza, niepodzielna jednostka (0 lub 1 w systemie dwójkowym). Poniższy formularz jest wykonany wg projektu A.


:P


Znając podstawowe reguły możemy wykonać pierwsze wyliczenia:

1 KB (z ang. Kbytes) = 1024 * 8 b = 8192 b = 8,192 kb (z ang. kbits lub kb)
1 KB = 1/1024 MB = 0,0009765625 MB


W ramach projektowania skryptu automatycznie przeliczającego jednostki przyjąłem, że dane będą wprowadzane w: b, B, kb, Kb, kB, KB, mb, Mb, mB, MB, gb, Gb, gB, GB (w takim też zakresie jednostek będzie można uzyskać wyniki). Poniższe schematy wyliczeń są proste: po sprowadzeniu danych do najmniejszej jednostki (przeliczam całość na bity), mnożę je przez współczynniki otrzymując docelową jednostkę. Wyliczenia są rozpisane w formie nieskróconej, co ułatwia ich zrozumienie, ale i (niestety) grozi kąśliwymi uwagami matematyków lubiących skrótową formę.

Jeżeli masz wrażenie, że nie całkiem rozumiesz logiki przeliczania jednostek i w związku z tym podejrzewasz u siebie jakąś ułomność umysłową, to zapewniam, że przeliczanie jednostek jest materiałem przeznaczonym głównie dla paranoików-matematyków lub narwanych egzaminatorów w szkołach informatycznych. Poniższe podaję wyłącznie, by ułatwić zrozumienie sposobu wyliczeń zastosowanych w formularzu oraz programiku kb (pod Windows). Aby ręcznie przeliczyć jednostki skorzystaj z poniższych wzorców. Zamiast znaku ? wpisz dane do przeliczeń.
Jednostka wprowadzanych danych jest opisana po polsku i angielsku: pl | ang.

? b | bits (bitów | bits) =
= ?/1000 kb
= ?/1000/1000 mb
= ?/1000/1000/1000 gb
= ?/1024 Kb
= ?/1024/1024 Mb
= ?/1024/1024/1024 Gb
= ?/8 B
= (?/1000)/8 kB
= (?/1000/1000)/8 mB
= (?/1000/1000/1000)/8 gB
= (?/1024)/8 KB
= (?/1024/1024)/8 MB
= (?/1024/1024/1024)/8 GB

? kb | kbits (kilobitów | kilobits) =
= ?*1000 b
= [(?*1000)/1000]/1000 mb
= {[(?*1000)/1000]/1000}/1000 gb
= (?*1000)/1024 Kb
= [(?*1000)/1024]/1024 Mb
= {[(?*1000)/1024]/1024}/1024 Gb
= (?*1000)/8 B
= [(?*1000)/1000]/8 kB
= {[(?*1000)/1000]/1000}/8 mB
= {{[(?*1000)/1000]/1000}/1000}/8 gB
= [(?*1000)/1024]/8 KB
= {[(?*1000)/1024]/1024}/8 MB
= {{[(?*1000)/1024]/1024}/1024}/8 GB

? Kb | Kbits (Kilobitów | Kilobits) =
= ?*1024 b
= (?*1024)/1000 kb
= [(?*1024)/1000]/1000 mb
= {[(?*1024)/1000]/1000}/1000 gb
= [(?*1024)/1024]/1024 Mb
= {[(?*1024)/1024]/1024}/1024 Gb
= (?*1024)/8 B
= [(?*1024)/1000]/8 kB
= {[(?*1024)/1000]/1000}/8 mB
= {{[(?*1024)/1000]/1000}/1000}/8 gB
= [(?*1024)/1024]/8 KB
= {[(?*1024)/1024]/1024}/8 MB
= {{[(?*1024)/1024]/1024}/1024}/8 GB

? B | bytes (bajtów | bytes) =
= ?*8 b
= (?/1000)*8 kb
= [(?/1000)/10000]*8 mb
= {[(?/1000)/1000]/1000}*8 gb
= (?/1024)*8 Kb
= [(?/1024)/1024]*8 Mb
= {[(?/1024)/1024]/1024}*8 Gb
= ?/1000 kB
= (?/1000)/1000 mB
= [(?/1000)/1000]/1000 gB
= ?/1024 KB
= (?/1024)/1024 MB
= [(?/1024)/1024]/1024 GB

? kB | kBytes (kilobajtów | kilobytes) =
= (?*1000)*8 b
= [(?*1000)/1000]*8 kb
= {[(?*1000)/1000]/10000}*8 mb
= {{[(?*1000)/1000]/1000}/1000}*8 gb
= [(?*1000)/1024]*8 Kb
= {[(?*1000)/1024]/1024}*8 Mb
= {{[(?*1000)/1024]/1024}/1024}*8 Gb
= ?*1000 B
= [(?*1000)/1000]/1000 mB
= {[(?*1000)/1000]/1000}/1000 gB
= (?*1000)/1024 KB
= [(?*1000)/1024]/1024 MB
= {[(?*1000)/1024]/1024}/1024 GB

? KB | KBytes (Kilobajtów | Kilobytes) =
= (?*1024)*8 b
= [(?*1024)/1000]*8 kb
= {[(?*1024)/1000]/1000}*8 mb
= {{[(?*1024)/1000]/1000}/1000}*8 gb
= [(?*1024)/1024]*8 Kb
= {[(?*1024)/1024]/1024}*8 Mb
= {{[(?*1024)/1024]/1024}/1024}*8 Gb
= ?*1024 B
= (?*1024)/1000 kB
= [(?*1024)/1000]/1000 mB
= {[(?*1024)/1000]/1000}/1000 gB
= [(?*1024)/1024]/1024 MB
= {[(?*1024)/1024]/1024}/1024 GB

? mb | mbits (megabitów | megabits) =
= ?*1000*1000 b
= (?*1000*1000)/1000 kb
= {[(?*1000*1000)/1000]/1000}/1000 gb
= (?*1000*1000)/1024 Kb
= [(?*1000*1000)/1024]/1024 Mb
= {[(?*1000*1000)/1024]/1024}/1024 Gb
= (?*1000*1000)/8 B
= [(?*1000*1000)/1000]/8 kB
= {[(?*1000*1000)/1000]/1000}/8 mB
= {{[(?*1000*1000)/1000]/1000}/1000}/8 gB
= [(?*1000*1000)/1024]/8 KB
= {[(?*1000*1000)/1024]/1024}/8 MB
= {{[(?*1000*1000)/1024]/1024}/1024}/8 GB

? Mb | Mbits (Megabitów | Megabits) =
= ?*1024*1024 b
= (?*1024*1024)/1000 kb
= [(?*1024*1024)/1000]/1000 mb
= {[(?*1024*1024)/1000]/1000}/1000 gb
= (?*1024*1024)/1024 Kb
= {[(?*1024*1024)/1024]/1024}/1024 Gb
= (?*1024*1024)/8 B
= [(?*1024*1024)/1000]/8 kB
= {[(?*1024*1024)/1000]/1000}/8 mB
= {{[(?*1024*1024)/1000]/1000}/1000}/8 gB
= [(?*1024*1024)/1024]/8 KB
= {[(?*1024*1024)/1024]/1024}/8 MB
= {{[(?*1024*1024)/1024]/1024}/1024}/8 GB

? mB | mBytes (megabajtów | megabytes) =
= (?*1000*1000)*8 b
= [(?*1000*1000)/1000]*8 kb
= (?*1000*1000)/1000/1000*8 mb
= {{[(?*1000*1000)/1000]/1000}/1000}*8 gb
= [(?*1000*1000)/1024]*8 Kb
= {[(?*1000*1000)/1024]/1024}*8 Mb
= {{[(?*1000*1000)/1024]/1024}/1024}*8 Gb
= ?*1000*1000 B
= [(?*1000*1000)/1000] kB
= {[(?*1000*1000)/1000]/1000}/1000 gB
= [(?*1000*1000)/1024]*8 KB
= [(?*1000*1000)/1024]/1024 MB
= {[(?*1000*1000)/1024]/1024}/1024 GB

? MB | MBytes (Megabajtów | Megabytes) =
= (?*1024*1024)*8 b
= [(?*1024*1024)/1000]*8 kb
= {[(?*1024*1024)/1000]/1000}*8 mb
= {{[(?*1024*1024)/1000]/1000}/1000}*8 gb
= [(?*1024*1024)/1024]*8 Kb
= {[(?*1024*1024)/1024]/1024}*8 Mb
= {{[(?*1024*1024)/1024]/1024}/1024}*8 Gb
= ?*1024*1024 B
= (?*1024*1024)/1000 kB
= [(?*1024*1024)/1000]/1000 mB
= {[(?*1024*1024)/1000]/1000}/1000 gB
= (?*1024*1024)/1024 KB
= {[(?*1024*1024)/1024]/1024}/1024 GB

? gb | gbits (gigabitów | gigabits) =
= ?*1000*1000*1000 b
= (?*1000*1000*1000)/1000 kb
= [(?*1000*1000*1000)/1000]/1000 mb
= (?*1000*1000*1000)/1024 Kb
= [(?*1000*1000*1000)/1024]/1024 Mb
= {[(?*1000*1000*1000)/1024]/1024}/1024 Gb
= (?*1000*1000*1000)/8 B
= [(?*1000*1000*1000)/1000]/8 kB
= {{[(?*1000*1000*1000)/1000]/1000}/8 mB
= {{[(?*1000*1000*1000)/1000]/1000}/1000}/8 gB
= [(?*1000*1000*1000)/1024]/8 KB
= {[(?*1000*1000*1000)/1024]/1024}/8 MB
= {{[(?*1000*1000*1000)/1024]/1024}/1024}/8 GB

? Gb | Gbits (Gigabitów | Gigabits) =
= ?*1024*1024*1024 b
= (?*1024*1024*1024)/1000 kb
= [(?*1024*1024*1024)/1000]/1000 mb
= {[(?*1024*1024*1024)/1000]/1000}/1000 gb
= (?*1024*1024*1024)/1024 Kb
= [(?*1024*1024*1024)/1024]/1024 Mb
= (?*1024*1024*1024)/8 B
= [(?*1024*1024*1024)/1000]/8 kB
= {[(?*1024*1024*1024)/1000]/1000}/8 mB
= {{[(?*1024*1024*1024)/1000]/1000}/1000}/8 gB
= [(?*1024*1024*1024)/1024]/8 KB
= {[(?*1024*1024*1024)/1024]/1024}/8 MB
= {{[(?*1024*1024*1024)/1024]/1024}/1024}/8 GB

? gB | gBytes (gigabajtów | gigabytes) =
= (?*1000*1000*1000)*8 b
= [(?*1000*1000*1000)/1000]*8 kb
= (?*1000*1000*1000)/1000/1000*8 mb
= {{[(?*1000*1000*1000)/1000]/1000}/1000}*8 gb
= [(?*1000*1000*1000)/1024]*8 Kb
= {[(?*1000*1000*1000)/1024]/1024}*8 Mb
= {{[(?*1000*1000*1000)/1024]/1024}/1024}*8 Gb
= ?*1000*1000*1000 B
= [(?*1000*1000*1000)/1000] kB
= [(?*1000*1000*1000)/1000]/1000 mB
= (?*1000*1000*1000)/1024 KB
= [(?*1000*1000*1000)/1024]/1024 MB
= {[(?*1000*1000*1000)/1024]/1024}/1024 GB

? GB | GBytes (Gigabajtów | Gigabytes) =
= (?*1024*1024*1024)*8 b
= [(?*1024*1024*1024)/1000]*8 kb
= {[(?*1024*1024*1024)/1000]/1000}*8 mb
= {{[(?*1024*1024*1024)/1000]/1000}/1000}*8 gb
= [(?*1024*1024*1024)/1024]*8 Kb
= {[(?*1024*1024*1024)/1024]/1024}*8 Mb
= {{[(?*1024*1024*1024)/1024]/1024}/1024}*8 Gb
= ?*1024*1024*1024 B
= (?*1024*1024*1024)/1000 kB
= [(?*1024*1024*1024)/1000]/1000 mB
= {[(?*1024*1024*1024)/1000]/1000}/1000 gB
= (?*1024*1024*1024)/1024 KB
= [(?*1024*1024*1024)/1024]/1024 MB

  • 0




Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych