Systemy liczbowe
Transkrypt
Systemy liczbowe
Systemy liczbowe Plan zaję ć n n Systemy liczbowe n addytywne (niepozycyjne (niepozycyjne)) n pozycyjne Konwersja n konwersja na system dziesię tny (algorytm Hornera Hornera)) n konwersja z systemu dziesię tnego n konwersje: n dwójkowo--ósemkowa, dwójkowo n ósemkowo--dwójkowa ósemkowo n dwójkowo--szesnastkowa dwójkowo n szesnastkowo--dwójkowa szesnastkowo 2 Izabela Szczę ch 1 Systemy liczbowe System liczbowy § System liczbowy to zbiór regułdo jednolitego zapisywania i nazywania liczb. Do zapisywania liczb uż ywa się pewnego skoń czonego zbioru znaków, zwanych cyframi (np. arabskimi, rzymskimi), które moż na zestawiać ze sobą na róż ne sposoby otrzymują c nieskoń czoną liczbę kombinacji. 4 Izabela Szczę ch 2 System liczbowy § Najbardziej prymitywnym systemem liczbowym jest jedynkowy system liczbowy, w którym wystę puje tylko jeden znak (np. 1 albo pionowa kreska). W systemie tym kolejne liczby są tworzone przez proste powtarzanie tego znaku. Przykładowo, 3 w tym systemie jest zapisywana jako 111, a pię ć 11111. § Ogólnie, wśród systemów liczbowych moż na wyróż nić : § systemy addytywne (niepozycyjne) § systemy pozycyjne § Zadanie domowe: określić czy system jedynkowy jest systemem addytywnym czy pozycyjnym. 5 Systemy addytywne § Systemy addytywne (zwane też niepozycyjnymi) to systemy liczbowe, w których wartość przedstawionej liczby jest sumą wartości jej znaków (cyfr). § Przykład - rzymski system liczbowy Jeśli "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16 Aby wyznaczyć wartość dziesię tną liczby zapisanej w systemie rzymskim należ y odejmować wartości znaków stoją cych przed znakami wię kszymi , a dodawać wartości znaków stoją cych za znakami wię kszymi lub równymi co do wartości. 6 Izabela Szczę ch 3 Systemy pozycyjne § Pozycyjnym systemem liczbowym nazywamy parę (P; C), gdzie P jest liczbą naturalną zwaną podstawą systemu, a C jest skoń czonym zbiorem znaków {0, 1, … , P-1} zwanych cyframi. § W systemie pozycyjnym liczbę przedstawia się jako cią g cyfr, przy czym wartość tej liczby zależ y zarówno od cyfr jak i miejsca, na którym się one znajdują w tym cią gu. § Jeśli P=10, to otrzymujemy dziesię tny system liczbowy, w którym wystę pują cyfry ze zbioru {0,… ,9}, dla P = 2 dwójkowy (binarny) z cyframi ze zbioru {0, 1}, dla P=8 ósemkowy (oktalny) z cyframi ze zbioru {0,… ,7}, itd. 7 Systemy pozycyjne § Liczba całkowita L zapisana w systemie pozycyjnym o podstawie P w postaci cią gu cyfr cn-1… c1c0 (P) ma wartość liczbową w = cn-1Pn-1 + cn-2Pn-2 +… + c1P1 + c0 gdzie cn-1,… ,c1,c0 Î C, oraz P jest podstawą systemu. § Przykład § Liczba 5004 w dziesię tnym systemie liczbowym: 5 x 103 + 0 x 102 + 0 x 101 + 4 x 100 = 5 x 1000 + 4 x 1 8 Izabela Szczę ch 4 System dziesię tny (decymalny, arabski ) § Podstawę systemu dziesię tnego stanowi liczba 10. § Zapis liczby tworzymy za pomocą cyfr o przypisanych wartościach od 0 do 9. Przykład 126(10) = 1x102 + 2x101 + 6x100 9 System dwójkowy (binarny) § Podstawę systemu binarnego stanowi liczba 2. § Zapis liczby tworzymy za pomocą cyfr o przypisanych wartościach 0 i 1. Przykład 1010(2) = 1x23 + 0x22 + 1x21+ 0x20 = 8 + 2 = 10(10) 10 Izabela Szczę ch 5 cyfra wartość dziesię tna 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 A 10 B 11 C 12 D 13 E 14 F 15 System szesnastkowy (hexadecymalny hexadecymalny)) § Podstawę systemu szesnastkowego stanowi liczba 16. § Zapis liczby tworzymy za pomocą cyfr o przypisanych wartościach od 0 do 9 oraz kolejnych liter alfabetu łaciń skiego A – F o przypisanych wartościach od 10 do 15. Przykład A1F(16) = Ax162 + 1x161 + Fx160= 10x256 + 1x16 + 15x1 = 2591(10) 11 Po co jest system szesnastkowy? § Jedna cyfra kodu szesnastkowego odpowiada dokładnie czterocyfrowej liczbie systemu dwójkowego. Ponieważ bajt informacji składa się z 8 bitów, zatem każ dy bajt danych daje się w sposób jednoznaczny przedstawić za pomocą dwu cyfr kodu szesnastkowego, co upraszcza kwestię konwersji § System szesnastkowy jest wygodny przy zapisie duż ych liczb jak np. adresy pamię ci § Adresy IP np. w wersji 6 są podawane szesnastkowo 12 Izabela Szczę ch 6 Zadania Z definicji wyznacz dziesię tną wartość poniż szych liczb: § 421(7) = ???(10) § 2102(3) = ???(10) § AGF63B(17) = ???(10) 13 Konwersja na system dziesię tny Izabela Szczę ch 7 Konwersja na system dziesię tny Algorytm Hornera obliczania wartości dziesię tnej liczby całkowitej zapisanej w innym systemie pozycyjnym n - liczba cyfr w zapisie pozycyjnym konwertowanej liczby P - podstawa systemu pozycyjnego konwertowanej liczby ci - cyfra konwertowanej liczby stoją ca na i-tej pozycji Pozycja o numerze 0 to pierwsza pozycja od strony prawej. w - obliczana dziesię tna wartość konwertowanej liczby 1. 2. 3. 4. 5. 6. w← 0 i← n-1 w ← ci + w * P jeśli i = 0, to koniec, w zawiera wartość liczby i← i-1 wróć do punktu 3 15 Konwersja na system dziesię tny Przykład: Obliczyć przy pomocy algorytmu Hornera dziesię tną wartość liczby 742031(8) zapisanej w systemie pozycyjnym o podstawie P=8. w← w← w← w← w← w← w← 0 7+0*8=7 4 + 7 * 8 = 60 2 + 60 * 8 = 482 0 + 482 * 8 = 3856 3 + 3856 * 8 = 30851 1 + 30851 * 8 = 246809 koń czymy, ponieważ osią gnę liśmy ostatnią cyfrę konwertowanej liczby 16 Izabela Szczę ch 8 Konwersja na system dziesię tny Zadanie: Obliczyć przy pomocy algorytmu Hornera wartość dziesię tną liczby 2210112(3) zapisanej w systemie pozycyjnym o podstawie P=3. 17 Konwersja z systemu dziesię tnego Izabela Szczę ch 9 Konwersja z systemu dziesię tnego Sformułowanie problemu: znalezienie kolejnych cyfr zapisu liczby dziesię tnej L w dowolnym systemie docelowym o podstawie P. Zgodnie z definicją wartość liczby dziesię tnej L wynosi: L = cn-1 Pn-1 + cn-2 Pn-2 + ... + c2 P2 + c1 P + c0 Przykładowo, konwersja liczby L= 6(10) z systemu dziesię tnego na dwójkowy polega na znalezieniu kolejnych cyfr ci czyli cyfr 110(2) 6(10) = 1*22 + 1*21 + 0*20 =110(2) 19 Konwersja z systemu dziesię tnego Do wydobycia poszczególnych cyfr ci, i = 0, 1, 2, ..., n-1, są nam potrzebne dwa działania: § div - dzielenie całkowitoliczbowe - określa ile całkowitą ilość razy dzielnik mieści się w dzielnej, np.: 9 div 4 = 2, gdyż 4 mieści się w 9 dwa razy § mod - reszta z dzielenia całkowitoliczbowego, np: 9 mod 4 = 1, gdyż 4 mieści się w 9 dwa razy, co daje 8 i pozostawia resztę 1 20 Izabela Szczę ch 10 Konwersja z systemu dziesię tnego Algorytm konwersji liczby z systemu dziesię tnego na system o podstawie P: w - wartość liczby w systemie dziesię tnym P - podstawa docelowego systemu pozycyjnego ci - cyfra na i-tej pozycji w systemie pozycyjnym o podstawie p 1. 2. 3. 4. 5. 6. i← 0 ci ← w mod P w ← wynik dzielenia całkowitego w div P jeśli w = 0, to koń czymy, wszystkie cyfry znalezione i← i+1 wróć do punktu 2. 21 Konwersja z systemu dziesię tnego Przykład: Przeliczyć wartość 12786(10) na system pią tkowy. w ← 12786 / 5 = 2557 i reszta 1 w ← 2557 / 5 = 511 i reszta 2 w ← 511 / 5 = 102 i reszta 1 w ← 102 / 5 = 20 i reszta 2 w ← 20 / 5 = 4 i reszta 0 w ← 4 / 5 = 0 i reszta 4 (koniec obliczeń , ponieważ otrzymaliśmy wartość 0) 12786(10) = 402121(5) 22 Izabela Szczę ch 11 Konwersja z systemu dziesię tnego Zadania: § Przedstawić w systemie dwójkowym liczbę 865(10). § Przedstawić w systemie trójkowym liczbę 3257(10). § Przedstawić w systemie czwórkowym liczbę 2743(10). 23 Konwersje 2-8, 88-2, 22-16, 1616-2 Izabela Szczę ch 12 Konwersja dwójkowodwójkowo-ósemkowa cyfra 0 1 2 3 4 5 6 7 warto artośś ć binarna 000(2) 001(2) 010(2) 011(2) 100(2) 101(2) 110(2) 111(2) 110101111011010101011101 (2) 110 101 111 011 010 101 011 101 (2) 110 101 111 011 010 101 011 101 6 5 7 3 2 5 3 5 110101111011010101011101 (2) = 65732535 (8) 25 Konwersja ósemkowoósemkowo-dwójkowa cyfra 0 1 2 3 4 5 6 7 warto artośś ć binarna 000(2) 001(2) 010(2) 011(2) 100(2) 101(2) 110(2) 111(2) 7 5 2 4 0 1 111 101 010 100 000 001 752401(8) = 111101010100000001(2) 26 Izabela Szczę ch 13 0 1 2 3 4 5 warto artośś ć binarna 0000(2) 0001(2) 0010(2) 0011(2) 0100(2) 0101(2) 6 7 8 9 A B 0110(2) 0111(2) 1000(2) 1001(2) 1010(2) 1011(2) C D E F 1100(2) 1100 110 1011(2) 1110(2) 111 1111(2) cyfra 0 1 2 3 4 5 warto artośś ć binarna 0000(2) 0001(2) 0010(2) 0011(2) 0100(2) 0101(2) 6 7 8 9 A B 0110(2) 0111(2) 1000(2) 1001(2) 1010(2) 1011(2) C D E F 1100(2) 1100 110 1011(2) 1110(2) 111 1111(2) cyfra Izabela Szczę ch Konwersja dwójkowodwójkowoszesnastkowa 110101111011010101011101(2) 1101 0111 1011 0101 0101 1101(2) D 7 B 5 5 D 110101111011010101011101(2) = D7B55D(16) 27 Konwersja szesnastkowoszesnastkowodwójkowa D 7 B 5 5 D 1101 0111 1011 0101 0101 1101 D7B55D(16) =110101111011010101011101 (2) 28 14