Infos 1a Sprawdzian Kapitel 2

Rozważmy zagadnienia poruszane w rozdziale 2 podręcznika do Informatyki 1a. Skupimy się na typowych zagadnieniach pojawiających się na sprawdzianach.
Reprezentacja liczb w systemach pozycyjnych
Zacznijmy od systemów liczbowych. Najpopularniejszy to system dziesiętny. Używamy go na co dzień. Składa się z cyfr od 0 do 9.
Inne systemy to binarny (dwójkowy), ósemkowy i szesnastkowy. System binarny używa tylko 0 i 1. System ósemkowy cyfr od 0 do 7. System szesnastkowy cyfr od 0 do 9 oraz liter A, B, C, D, E, F (A=10, B=11, ..., F=15).
Must Read
Konwersja między systemami jest kluczowa. Aby zamienić liczbę dziesiętną na binarną, dzielimy ją przez 2. Zapisujemy reszty z dzielenia od końca. Przykład: 13 w systemie dziesiętnym to 1101 w systemie binarnym. Analogicznie postępujemy z systemem ósemkowym i szesnastkowym, dzieląc przez 8 i 16 odpowiednio.
Konwersja z binarnego na dziesiętny jest odwrotna. Mnożymy każdą cyfrę przez odpowiednią potęgę 2. Sumujemy wyniki. Przykład: 1101 = (1 * 2^3) + (1 * 2^2) + (0 * 2^1) + (1 * 2^0) = 8 + 4 + 0 + 1 = 13.

Działania na bitach
Rozważmy operacje logiczne na bitach. Mamy AND, OR, XOR i NOT. AND daje 1 tylko, gdy oba argumenty są 1. OR daje 1, gdy przynajmniej jeden argument jest 1. XOR daje 1, gdy argumenty są różne. NOT neguje bit.
Przykładowo: 1 AND 1 = 1, 1 AND 0 = 0. 1 OR 0 = 1, 0 OR 0 = 0. 1 XOR 0 = 1, 1 XOR 1 = 0. NOT 1 = 0, NOT 0 = 1.

Te operacje są fundamentalne. Używane są w układach cyfrowych. Pozwalają na budowanie bardziej skomplikowanych funkcji.
Reprezentacja liczb zmiennoprzecinkowych
Liczby zmiennoprzecinkowe to liczby z ułamkiem. Często używany jest standard IEEE 754. Składa się z bitu znaku, cechy i mantysy.

Bit znaku określa znak liczby (0 - dodatnia, 1 - ujemna). Cechą jest wykładnik przesunięty o pewną wartość. Mantysa reprezentuje część ułamkową liczby. Standard IEEE 754 definiuje formaty pojedynczej i podwójnej precyzji.
Problemy z reprezentacją zmiennoprzecinkową wynikają z ograniczonej precyzji. Niektóre liczby nie mogą być reprezentowane dokładnie. Prowadzi to do błędów zaokrągleń. Ważne jest, aby o tym pamiętać podczas programowania.

Kodowanie znaków
Komputery przechowują znaki jako liczby. ASCII to jeden z najstarszych standardów. Przypisuje liczby od 0 do 127 znakom. Obejmuje litery alfabetu angielskiego, cyfry i znaki specjalne.
UTF-8 to bardziej nowoczesny standard. Może reprezentować znaki z różnych języków. Jest kompatybilny z ASCII. Używa zmiennej liczby bajtów do reprezentacji znaku.
Zrozumienie kodowania znaków jest ważne. Pomaga uniknąć problemów z wyświetlaniem tekstu. Zwłaszcza, gdy mamy do czynienia z różnymi językami.
