Podstawy Informatyki Organizacja informacji Informacja „wewnątrz” systemów informatycznych zapisana jest w postaci binarnej. Ważne są: - wartość bitu (0 lub 1) - pozycja bitu 0001 - jedynka na prawej pozycji 1000 - jedynka na lewej pozycji Musimy przyjąć, która strona jest ważniejsza. Bity z ważniejszej strony nazywamy bardziej znaczącymi. Bity z mniej ważnej strony nazywamy - mniej znaczącymi Najczęściej przyjmuje się lewą stroną jako ważniejszą. Systemy komputerowe wykorzystują obie te koncepcje, co często przyprawia informatyków o zawrót głowy. Organizacja informacji Ciągom bitów przypisuje się konkretne wartości: 0 -> 0 1 -> 1 10 -> 2 11 -> 3 100 -> 4 101 -> 5 110 -> 6 111 -> 7 1000 -> 8 1001 -> 9 1010 -> 10 1011 -> 11 1100 -> 12 1101 -> 13 1110 -> 14 1111 -> 15 10000 -> 16 10001 -> 17 10010 -> 18 10011 -> 19 10100 -> 20 10101 -> 21 10110 -> 22 10111 -> 23 11000 -> 24 11001 -> 25 11010 -> 26 11011 -> 27 11100 -> 28 11101 -> 29 11111 -> 31 Zapis binarny Zapis binarny jest ściśle związany z potęgami liczby dwa. Wartości bitów na poszczególnych pozycjach w zapisie binarnym odpowiadają kolejnym potęgom liczby 2: Warto zauważyć, że nadając liczbom binarnym wartości liczbowe, zapisujemy je w innej postaci (dziesiętnej). Takie działanie (zamiana sposobu zapisu liczby z jednego systemu na inny) nazywa się konwersją. Mówimy więc w tym wypadku o konwersji z systemu binarnego na dziesiętny. Zadanie 1. Zamień liczbę dziesiętną 101 na liczbę w systemie dwójkowym 2. Zamień liczbę dwójkową 101 na liczbę w systemie dziesiętnym Tabela ASCII W tabeli ASCII koduje się jedynie podstawowy zbiór 255 symboli (tyle kombinacji uzyskuje się z jednego bajtu). Nie ma w niej miejsca na symbole japońskie, chińskie, a nawet polskie znaki narodowe (ą, ć, ź, ó itp.). W związku z tym coraz powszechniej przechodzi się na inną tabelę, zwaną UNICODE - komputerowy zestaw znaków mający w zamierzeniu obejmować wszystkie pisma używane na świecie. Każdy znak zapisany jest na dwóch, zamiast na jednym bajcie (tak jest w ASCII). Pozwala to zakodować 65535 znaków. Pierwsze 255 znaków pokrywa się z kodem ASCII. Bit, bajt, kilobajt, megabajt… Bajty grupowane są w większe jednostki. 1024 bajty to kilobajt [kb] 1024 kb to megabajt [Mb] 1024 Mb to gigabajt [Gb] 1024 Gb to terrabajt [Tb] Dlaczego 1024 a nie 1000? Odpowiedź jest prosta - dlatego że 1024 jest potęgą liczby 2 (210), co znacznie ułatwia adresowanie pamięci w komputerach. System dziesiętny Dziesiętny system liczbowy, zwany też systemem decymalnym lub arabskim to pozycyjny system liczbowy, w którym podstawą pozycji są kolejne potęgi liczby 10. Do zapisu liczb potrzebne jest więc w nim10 cyfr: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Jak w każdym pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu. Część całkowitą i ułamkową oddziela separator dziesiętny. Np. zapis "5045,7" wynika z: 5x103+0x102+4x101+5x100+7x10-1=5000+40+5+0,7=5045,7 Pozycyjny, dziesiętny system liczbowy jest obecnie na świecie podstawowym systemem stosowanym niemal we wszystkich krajach. System ósemkowy Ósemkowy system liczbowy to pozycyjny system liczbowy o podstawie 8. System ósemkowy jest czasem nazywany oktalnym od słowa octal. Do zapisu liczb używa się w nim ośmiu cyfr, od 0 do 7. Dawniej często wykorzystywany do skrócenia zapisu binarnego. Obecnie chętniej stosuje się zapis szesnastkowy. System szesnastkowy - heksadecymalny (HEX) Do zapisu liczb potrzebne jest szesnaście znaków. Poza cyframi dziesiętnymiod 0 do 9 używa się pierwszych sześciu liter alfabetu łacińskiego: A, B, C, D, E, F. Hex jest powszechnie używany w informatyce: zastępuje zapis binarny. Wartość pojedynczego bajtu można opisać używając tylko dwóch cyfr szesnastkowych. W ten sposób można kolejne bajty łatwo przedstawić w postaci ciągu liczb HEX służy do przeglądania zawartości „surowej” pamięci komputerów służy do oznaczania kolorów w grafice komputerowej (kolory RGB zapisuje się jako 3 liczby HEX od 0 do FF(255) poprzedzone znakiem #,np. różowy - #FF8080). Zapis ten stosuje np. w HTML (do opisu wyglądu stron internetowych) 65.536dec = 1.0000hex 16.777.216dec = 100.0000hex 65.535dec = FFFFhex 4.294.967.295dec = FFFF.FFFFhex