SYSTEMY LICZBOWE SYSTEMY POZYCYJNE: dziesiętny (arabski):,, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M System pozycyjno wagowy: na przykład liczba 444 4 4 4 4 4 4 Wagi systemu dziesiętnego:,,,,... L = C n P n + C n 2 P n 2 + + C P + C P C elementy zbioru cyfr dostępnych w danym systemie, C {,...,P }, P podstawa systemu, P = 2, 4, 8,, 6 (6 Babilon, czas), n liczba całkowita. Przykłady: P = 2 C {, } P = 4 C {,,2,3 } P = 8 C {,,2,3,4,5,6,7 } P = C {,,2,3,4,5,6,7,8,9 } P = 6 C {,,2,3,4,5,6,7,8,9,A,B,C,D,E,F} 444 24443 44 243 4 cyfr uzupełnienie 37
ZAPIS liczby w różnych systemach (n = 4): (2) = 2 3 + 2 2 + 2 + 2 =8++2+= (4) = 4 3 + 4 2 + 4 + 4 =64++4+=69 (8) = 8 3 + 8 2 + 8 + 8 =52++8+=52 () = 3 + 2 + + =+++= (6) = 6 3 + 6 2 + 6 + 6 =496++6+=43 System () SYSTEM NATURALNY System (2) SYSTEM KOMPUTEROWY {, } System (6) SYSTEM KOMPUTEROWY Przykłady: (6) = 6 () 6 (6) () = 6 = + 6 + 6 = 6 + = 6 = + 6 = 6 9 (6) = 25 () 9 25 (6) () = 6 = 2 + 9 6 + 5 = 6 + 9 = 25 = 2 + 5 = 25 BF (6) = 9 () BF 9 (6) () = B 6 = 2 + F 6 + 9 = 6 + 5 = 9 + = + 9 + = 9 SYSTEM DZIESIĘTNY Podstawa P =, znaki + oraz Liczby są przedstawiane jako sumy potęg podstawy. 245,245 = 3 +2 2 +4 +5 +2 - +4-2 +5-3 38
SYSTEM DWÓJKOWY (BINARNY) Znaki:, Dwójkowy system pozycyjny, kod dwójkowy ZALETY: prostota łatwa realizacja techniczna (elektronika) możliwość interpretacji cyfr {, } jako wartości logicznych (algebra Boole a) WADY: długość zapisu przyzwyczajenie KOMPUTERY: konwersja systemów 6 2 Liczby w zapisie dwójkowym: c n- c n-2... c c c n, c n- cyfry liczby dwójkowej, przyjmujące wartości, Wartość liczby binarnej w systemie dziesiętym: L = c n n 2 n 2 + cn 2 2 + + c 2 + c 2 39
Porównanie systemów P = oraz P = 2: System dziesiętny P = System dwójkowy P = 2 2 3 4 5 n = 6 pozycji 6 7 8 9 2 3 4 5 6...... 4
LICZBY NATURALNE (CAŁKOWITE DODATNIE) 2 4 + 2 3 + 2 2 + 2 + 2 = 6 + 4 = 2 4 3 2 n = 5 2 5 + 2 4 + 2 3 + 2 2 + 2 + 2 = = 32 + 4 + = 37 KONWERSJA LICZBY DZIESIĘTNEJ DO DWÓJKOWEJ: (47) = (? ) 2 Reszta: 47 : 2 = 73 C = 73 : 2 = 36 C = 36 : 2 = 8 C 2 = 8 : 2 = 9 C 3 = 9 : 2 = 4 C 4 = 4 : 2 = 2 C 5 = 2 : 2 = C 6 = : 2 = C 7 = n = 8 (47) = () 2 = 2 7 + 2 4 + 2 + 2 = = 28 + 6 + 2 + = 47 27 () = (2) n = 7 243 () = (2) n = 8 (2) =2 7 + 2 6 + 2 5 +2 4 + 2 3 + 2 2 + 2 + 2 = = 28 + 64 + 32 + 6 + 8 + 4 + 2 + = 255 () Zapis binarny prosty pozwala za pomocą n cyfr zapisywać liczby z zakresu: L 2 n Dla n = 8: L 2 8 = 256 = 255 4
KODOWANIE DODATNICH LICZB UŁAMKOWYCH (ułamki właściwe) n = 8: 2) c - c -2... c -n L = c - 2 - + c -2 2-2 +... + c -n 2 -n (2) = 2 - + 2-2 + 2-3 + 2-4 = 8 + 2 + + + = = =,6875 ( 2 8 6 6 6 = ) = + + + + + + + = 2 4 8 6 32 64 28 256 255 256 ( =,9969375 KODOWANIE DOWOLNYCH LICZB I UŁAMKÓW należy wprowadzić znak dla liczb ujemnych nalezy wprowadzić znak oddzielający część całkowitą liczby od części ułamkowej ułamek nieujemny (dodatni) ułamek niedodatni (ujemny) KODOWANIE BEZPOŚREDNIE KODOWANIE ODWROTNE KOD UZUPEŁNIENIOWY 42
Liczby rzeczywiste Liczby rzeczywiste część całkowita + część ułamkowa Zapis w dwóch bajtach (6 liczb): PRZECINEK, n = 8 n = 8 2 7 +2 6 +2 5 +2 4 +2 3 +2 2 +2 +2 = 255 2 - +2-2 +2-3 +2-4 +2-5 +2-6 +2-7 +2-8 = + + + + + + 2 4 8 6 32 64 28 + 256 = 255 256 Powyższy zapis ma same wady:. nie można zapisać liczb większych od 255, 2. przy małych liczbach pozostaje dużo wolnego miejsca, 3. MARNOWANIE PAMIĘCI KOMPUTEROWEJ. Błąd przy zapisie liczb: Liczba Część całkowita Część ułamkowa dziesiętna. 28, 2., 3. /256, Obcięcie liczb na dziewiątym miejscu błąd bezwzględny 9 = = =,95325 - wartość tracona z powodu braku miejsca. 2 52 2 9 BŁĄD WZGLĘDNY: Liczba :,5% Liczba 2:,945% Liczba 3: 5%! Powyższy sposób zapisu powoduje, że obliczenia są niewiarygodne (obliczenia naukowe, ekonomiczne, multimedialne). ZAPIS STAŁOPRZECINKOWY DLA LICZB RZECZYWISTYCH JEST NIEPRAKTYCZNY. 43
Kodowanie liczb o module x > y y = x x x y = x dla dla x < x Liczby o module x > przedstawia się w postaci składającej się z dwóch części: ułamkowej mantysa (m) całkowitej cecha (c) Wartość liczby określa zależność: x = sign( x) m 2 c m sign( x) = dla dla x x < ZAPIS LICZBY x: liczby stałoprzecinkowe (fixed point) liczby zmiennoprzecinkowe (floating point) (zmiennopozycyjne) DEFINICJA: BIT NAJMNIEJSZA JEDNOSTKA INFORMACJI {, } kb Mb Gb Tb kilobit megabit gigabit terabit bajt = 8 bitów (ang. byte) kb MB GB TB kilobajt megabajt gigabajt terabajt 44
LICZBY STAŁOPRZECINKOWE oddzielne kodowanie modułu i cechy ustalenie stałej umownej pozycji przecinka, oddzielającego część całkowitą od ułamkowej 234,23 =,23423 4 cecha c = 4 2,7363 =,27363 c =,5934 =,5934 c =,243 =,243-3 c = -3 Mantysa należy do przedziału (, ), cecha pozwala przesunąć przecinek. ZAKRES LICZB: max c = 28 (n = 8, c = 2 7 ) L max = 3,4 38 Można zwiększyć zapis cechy do 2 bajtów. DEFINICJA: SŁOWO KOMPUTEROWE Ilość informacji przetwarzanej przez komputer. KOMPUTER 8, 6, 32 (64, 28-) bitowy oznacza wielkość grupy danych, którą komputer może operować jako całością. 45
Słowo: Część całkowita CECHA Część ułamkowa MANTYSA umowny przecinek...... moduł cechy moduł mantysy znak cechy znak mantysy Zalety zapisu stałoprzecinkowego: prostota elastyczność Wady zapisu stałoprzecinkowego: ograniczony zakres liczb mała dokładność obliczeń (zaokrąglanie wyników) LICZBY ZMIENNOPRZECINKOWE Liczby kodowane są w jednym słowie....... mantysa cecha znak mantysy Mantysa trzy bajty, cecha jeden bajt Wartość liczby L = m 2 c Zalety zapisu zmiennoprzecinkowego: szeroki zakres liczb Wady zapisu stałoprzecinkowego: zajmowanie dużej pamięci znak STANDARD ZAPISU LICZB ZMIENNOPRZECINKOWYCH 46
KOD UZUPEŁNIEŃ DO 2 Zapis tradycyjny: 8 bitów, c,..., c 7 przyjmują wartości, L = c c 7 6 5 4 3 2 7 2 + c6 2 + c5 2 + c 4 2 + c3 2 + c 2 2 + c 2 + 2 Dla zapisu liczb ujemnych przyjmuje się: c 7 (-2 7 ) = c 7 (-28) L = c c 7 6 5 4 3 2 7 ( 2 ) + c6 2 + c5 2 + c 4 2 + c3 2 + c 2 2 + c 2 + 2 C 7 = liczba ujemna = -28 +64+32+6+8+4+2+ = -28 + 27 =- BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT BIT Bit najstarszy Bit najmłodszy Bit najstarszy MSB (Most Significant Bit) Bit najmłodszy LSB (Least Significant Bit) BIT7 służy do kodowanie znaku BIT7 = liczba dodatnia BIT7 = liczba ujemna BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT BIT L 8 2-6 27-47
SYSTEM SZESNASTKOWY (HEKSADECYMALNY) System dziesiętny P = n = 6 pozycji System szesnastkowy P = 6 System dwójkowy P = 2 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 A B 2 C 3 D 4 E 5 F Zaleta: prostsze przedstawianie liczb dwójkowych. 48
ZAMIANA LICZB BINARNYCH NA HEKSADECYMALNE: podział liczby dwójkowej na grupy cyfr 4-bitowych = 6BD (6) 6 B D Zapis 6 umożliwia przedstawianie wszystkich bitów w bajcie za pomocą dwóch znaków. Konwersja binarno szesnastkowa: = B29 (6) = 2857 () (2) = 6BD (6) = 725 () Konwersja szesnastkowo binarna: 3FA (6) = (2) = 8 () Zapis dwójkowy jest długi. Zapis szesnastkowy stanowi kompromis pomiędzy tym co jest najbliższe komputerowi a tym co jest wygodne dla człowieka. 49