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

Podobne dokumenty