purpura, woda uspokaja

purpura, woda uspokaja
fot. Salman Arif Khan

piątek, 10 stycznia 2014

Jednostki

Drobiazg a jednak sprawa podstawowa. W jakich jednostkach liczymy bity i bajty? Niby słowa są w powszechnym obiegu, ale proszę się przyznać. Wiemy, co one oznaczają? Osobiście powiem tak. Sam nie wiem. Ale wynika to z pewnego zamieszania o naturze trochę historycznej (oczywiście szybko pomijam ciągłą chęć upraszczania sobie życia poprzez wykorzystywanie analogii, a czym lekko dalej).
Może najpierw podstawa. Wiemy, że system w którym liczymy jest pozycyjnym systemem dziesiętnym. Co to oznacza? Z grubsza. Do reprezentacji każdej liczby wykorzystujemy cyfry 0, 1,...,9 i w zapisie tym istotna jest pozycja każdej z cyfr w ciągu cyfr. Cyfry 1 i 2 mogą utworzyć liczę 12 oraz 21. Niby te same, ale uszeregowane w inny sposób powodują, że przedstawiają inne liczby.
Czy są inne sposoby liczenia? Mnóstwo. Ale ze względów technologicznych wśród specjalistów popularne są dwa - binarny i heksadecymalny. Z konieczności my szarzy obywatele też musimy się w tym wyznawać.


Podstawą obecnie obowiązującego układu jednostek SI, zwanego też systemem metrycznym, jest układ dziesiętny. W systemie tym zostały zdefiniowane pewne miary podstawowe i system dopuszcza jednostki pochodne zdefiniowane tylko w jeden sposób - jako wielokrotności lub podwielokrotności dziesięciu. Reprezentantem 10 do odpowiedniej potęgi jest prefix. Dla przykładu. Potęga 2, prefix kilo, potęga -2, prefix centy.
Ponieważ system jest w użyciu od ponad 50 lat, to jesteśmy do niego przyzwyczajeni. Jednak zmiana systemu, przynajmniej mentalnie nie jest prosta. Przykładem wymiana pieniądza polegająca na zmianie jednostki (jakiś czas temu u nas 1000 starych zł stało się nowym zł). Wiele osób do dziś liczy w starych jednostkach. Tutaj przeliczenie jest proste. Ucinamy lub dopisujemy trzy zera. Trudniej jest z jednostkami tzw. imperialnymi. Funty, cale, stopy, fahrenheity. Myślę, że tutaj ludzie nigdy już się nie przestawią. System liczenia i miar tak wrasta w świadomość, że bardzo ciężko jest cokolwiek zmienić.
Czy z dnia na dzień moglibyśmy się przestwić z systemu dziesiętnego na system binarny lub hexadecymalny? Binarny jest trochę niepraktyczny, bo liczby byłyby bardzo długie, trudne do zapamiętania. Binarne 100, to tylko 4 dziesiętnie. W systemie hexadecymalnym, gdzie podstawą jest 16, brakuje nam reprezentacji cyfr. Zastępuje się je kolejnymi literami. W moim przekonaniu system jest dobry, ale czy możliwy do zaakceptowania? FF to 255. System dziesiętny wywołuje już jakieś obrazy w naszych mózgach. A system szesnastkowy. Pustka. CBA. To ile to jest? 3258. Widać, że reprezentacja jest niedogodnością, bo w sposób jednoznaczny nie rozstrzyga co jest słowem, a co liczbą.
Przepraszam za ten zbyt długi wstęp, ale nie są to pojęcia banalne. Drobny przykład. W zasadzie zero. Cyfra 0. Potrzeba było blisko tysiąca lat, by zero przywędrowało do europejskiej świadomości z matematyki/filozofii hinduskiej. To co dla nas dzisiaj jest oczywiste, kiedyś takie nie było.

Technologie cyfrowe wymusiły konieczność budowania innych systemów miar. Miar opartych o system dwójkowy. Cyfrą jest bit, oznaczany literką b. Arbitralnie przyjęto, że 8 bitów, to bajt, czyli byte. W oznaczeniach - duże B. Ale byte oznaczał też komórkę pamięci. Stąd, w zasadzie wynik wykorzystywanej technologii i wygody przyjęto jak wyżej. Dziesiętne 8, to binarne 1000. Największą czterocyfrową liczbą w systemie dwójkowym jest 1111, czyli F heksadecymalnie. W czasach, gdy procesory były czterobitowe, a to całkiem niedawne, cyfra heksadecymalna jednoznacznie reprezentowała cztery bity.
Z czasem liczba bitów się rozrastała i była potrzeba nazywania dużych liczb.

Spójrzmy na liczbę 2 do potęgi 10. W systemie dwójowym jest to 1 poprzedzona dziesięcioma zerami. Ale dziesiętnie, to 1 024. Prawie tysiąc. Różnica na każdym tysiącu, to mniej niż 1/4%. Przy małych liczbach niewiele. Prawie, nie prawie. Został tysiąc czyli kilo. Poszło dalej, do kolejnych prefiksów. Kilo razy kilo daje mega. W bitach - 1 048 575. Tu w stosunku do miliona różnica jest już blisko 5%. A dalej jest giga. 1 024 razy 1 048 575, czyli 1 073 741 824. I różnica jest już ponad 7 procentowa.

Dla jednych 1 gigabit, to 1 073 741 824 bitów, dla innych 1 000 000 000. Straszny bałagan. By było śmieszniej, to zaczęto mieszać systemy. Niewiele osób już pamięta dyskietki 1,44 MB. To zapis marketingowy dla ludu, bo tutaj MB nie znaczy nic. Jaki jest standard w bitach. Dyskietki te były formatowane do pojemności 1 474 560 bajtów. 1 440 kilo bajty. 1 440 razy 1 024. Przedstawiając pierwszą z liczb z przedrostkiem dziesiętnym mega, mamy właśnie 1,44 mega.
W pewnym momencie zacząto różnicować przedrostki dziesiętne i dwójkowe w zapisach, tak, by jednoznacznie to rozstrzygnąć. Przedrostki dwójkowe nazwano kibi (Ki), mebi (Mi) i gibi (Gi) w analogii do kilo, mega i giga. Ale też, i to jest druga konwencja, dwójkowe kilo przyjęto oznaczać, w odróżnieniu od dziesiętnego, dużą literą K.

W konsekwencji, nikt nic nie wie. Producenci wykorzystują notację zapisu, tak jak jest im wygodniej. Sprzedawcy dysków zawsze stosują przedrostki dziesiętne. Dyski na oko są większe - 100 brzmi ładniej niż 93. Tylko klient jest zdziwiony po zakupie.
Jaki z tego wniosek. Jeżeli w najprostszej sprawie nie ma zgody, to jak mamy cokolwiek zrozumieć i uniknąć manipulacji marketingowej producentów i dostawców? Nie zawsze mamy czas, siłę, by to wszystko zrozumieć.
A to jest dopiero początek.

Polska jest członkiem międzynarodowej organizacji, która ustaliła prefiksy dwójkowe i stosowne oznaczenia. 1'024 to kibibajt oznaczany jako KiB. I tak dalej. mebibajt oznaczamy jako MiB i gibibajt - GiB. Oznaczenia typu KB, MB nie wynikają z żadnych polskich norm. Co więcej wprowadzają bałagan.
Ale czy komukolwiek zależy na uporządkowaniu tego?

Poniższa tabelka przedstawia prefiksy binarne zgodnie z normami IEC 60027-2 A.2 oraz ISO/IEC 80000

prefiks binarnyReprezentacjaprefiks dziesiętny
nazwasymbolbaza 2baza 1024wartośćbaza 10nazwasymbol
kibiKi2101024110241.02×103kilok, K
mebiMi2201024210485761.05×106megaM
gibiGi2301024310737418241.07×109gigaG
tebiTi2401024410995116277761.10×1012teraT
pebiPi2501024511258999068426241.13×1015petaP
exbiEi2601024611529215046068469761.15×1018exaE
zebiZi2701024711805916207174113034241.18×1021zettaZ
yobiYi2801024812089258196146291747061761.21×1024yottaY




dodane dzień po.

Zupełnie off topic. Jak już przebrnęliśmy przez te wszystkie arytmetyczno informatyczne zawiłości, mam dowcip.Z matematyką w tle. Muszę się nim podzielić.

Najpierw definicja. Pochodna imprezy. Suma kasy uzyskanej ze sprzedaży pustych butelek po imprezie.
W związku z tym pytanie. Co to jest impreza nietrywialna? Odpowiedź. Jest to taka impreza, której druga pochodna jest dodatnia.