Systemy liczenia.

advertisement
Systemy liczenia.
System dziesiętny jest systemem pozycyjnym, co
oznacza, Ŝe wartość liczby zaleŜy od pozycji na której się
ona znajduje np. w liczbie 333 kaŜda cyfra oznacza inną
wartość bowiem:
333= 3*100+3*10+3*1
- kaŜdą z cyfr mnoŜymy przez tzw. wagę pozycji, która
jest kolejną potęgą liczby 10 będącej podstawą
systemu liczenia co moŜemy zapisać jako:
2
1
333(10) =3*10 + 3*10 + 3*10
0
a dowolną liczbę dziesiętną moŜna zapisać jako:
L(10) =an*10n + an-1*10n-1 + an-2*10n-2 ...+... a2*102 +
1
0
a1*10 + a0*10
Przy czym współczynniki an mogą mieć wartość 0,1,2,3,4,5,6,7,8,9
Czy moŜna liczyć inaczej ?
MoŜna stworzyć dowolny pozycyjny system
liczenia o podstawie np. 2, 3, 4, 7, 8, 16.
W technice komputerowej praktyczne
zastosowanie znalazły systemy:
o podstawie 2
- tzw. system binarny
(dwójkowy) uŜywany do przechowywania i
przetwarzania
danych
przez
układy
elektroniczne komputera
o podstawie 16 - tzw. system heksadecymalny
(szesnastkowy),
uŜywany
głównie
do
prezentacji niektórych danych m.in adresów
komórek pamięci
System binarny.
Zgodnie z pokazanym poprzednio na
przykładzie
systemu
dziesiętnego
rozwinięciem liczbę w systemie o podstawie
2 moŜemy więc przedstawić jako:
n
n-1
n-2
2
L(2) =an*2 + an-1*2 + an-2*2 ... + ... a2*2 +
1
0
a1*2 + a0*2
a współczynniki an mogą przybierać tylko dwie
wartości: 0 lub 1
Uwaga! Zwróćmy uwagę, Ŝe ilość dostępnych
cyfr w systemie jest równa podstawie
systemu, a więc w syst. dziesiętnym – 10, w
systemie dwójkowym – 2 itd.
System szesnastkowy
TakŜe analogicznie do systemu dziesiętnego czy
binarnego liczbę w systemie szesnastkowym (o
podstawie 16) moŜemy przedstawić jako:
L(16) =an*16n + an-1*16n-1 + an-2*16n-2 ... +
2
1
0
... +a2*16 + a1*16 + a0*16
natomiast współczynniki an mogą być liczbami:
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
jednak aby zapis liczby był jednoznaczny, na kaŜdej pozycji
powinna być umieszczona tylko 1 cyfra – np. pisząc 145 nie
moŜemy mieć wątpliwości czy kolejne cyfry tak zapisanej
liczby to:
1 4
5 czy 14 5
Cyfry od 10 do 15 zastąpiono w zapisie literami:
10 - A, 11 - B, 12 – C, 13 – D, 14 – E, 15 – F
Z systemu do systemu
Posługiwanie się róŜnymi systemami liczenia
wymaga umiejętności nie tylko przedstawiania
liczb w róŜnych systemach ale równieŜ
konwersji (zamiany) liczby przedstawionej w
jednym systemie na liczbę w innym systemie.
Najwygodniej jest to powierzyć komputerowi ale
naleŜy poznać zasady takiej zamiany
Zamiana liczby dziesiętnej na binarną
69
34
17
8
4
2
1
0
1
0
1
0
0
0
1
Najmłodszy bit
Podstawowy
sposób
polega na kolejnym
dzieleniu
liczby
dziesiętnej przez 2 z
resztą i
zapisaniu
liczby od najstarszego
do najmłodszego bitu
więc:
69 (10)= 1000101 (2)
Najstarszy bit
KaŜdą pozycję liczby binarnej nazywamy bitem (binary digit) i jest
to najmniejsza jednostka ilości informacji
Zamiana liczby binarnej na
dziesiętną
Przypomnijmy, Ŝe aby obliczyć dziesiętną
wartość naszej liczby binarnej mnoŜymy cyfrę
stojącą na kaŜdej pozycji przez jej wagę, czyli
kolejną potęgę liczby 2 będącej podstawą
systemu
6
5
4
3
1000101 (2)=1*2 + 0*2 + +0*2 +0*2 +
2
1
0
1*2 + 0*2 + 1*2 =
=64+0+0+0+4+0+1=69
• Algorytm zamiany liczby
dziesiętnej na binarną
Jak przedstawić liczbę dziesiętną w
systemie heksadecymalnym?
Nasza liczba dziesiętna 69 to binarnie: 1000101
Algorytm zamiany liczby binarnej na heksadecymalną jest
następujący:
dzielimy liczbę binarną na tzw. kęsy o długości 4 bity (licząc od
ostatniej pozycji) czyli:
100 0101
Dla kaŜdego kęsa znajdujemy wartość dziesiętną i zapisujemy ją w
postaci heksadecymalnej
binarnie
100 0101
dziesiętnie
4
5
heksadecymalnie
45
tak więc: 45(16)=4*161 + 5*160=64+5=69
Kodowanie informacji
Przedstawiając liczbę dziesiętną w systemie
binarnym czy teŜ heksadecymalnym musimy
pamiętać, Ŝe w dalszym ciągu jest to ta sama
liczba lecz przedstawiona za pomocą innego
zestawu znaków. MoŜemy więc mówić o
kodzie
binarnym
czy
teŜ
kodzie
heksadecymalnym
Zasada tworzenia kodu
Zbiór symboli A
Zbiór symboli B
A2
A1
B2
B1
A3
B3
Kodowanie liczb
Liczby binarne
1000101
Liczby dziesiętne
69
Liczby
heksadecymalne
45
Jak wprowadzić do komputera informacje
tekstowe?
Jak juŜ wiemy do przechowywania i przetwarzania
danych przez układy elektroniczne komputera
uŜywany
jest
system
binarny.
NaleŜy
więc
przedstawić tekst za pomocą liczb czyli jednoznacznie
przyporządkować
literom
i
innym
znakom
alfanumerycznym - liczb (numerów). W ten sposób
powstał w 1965 r. kod ASCII (American Standard
Code for Information Interchange).
Oczywiście kod ten jest jawny i uŜywany przez
wszystkich
uŜytkowników
i
twórców
oprogramowania.
Jest to kod 7 bitowy, a więc moŜemy za jego pomocą
przedstawić 27 czyli 128 znaków. W 1981 r. IBM
wprowadził rozszerzony do 8 bitów kod, co pozwala
na przedstawienie 256 znaków (w tym znaki
specjalne, graficzne, matematyczne i diakrytyczne
znaki narodowe)
Fragment
Fragment tabeli
tabeli kodu
kodu ASCII
ASCII
Znak Kod
dzies.
A
B
C
K
L
ź
¦
+
65
66
67
75
76
171
179
188
Kod binarny
Znak
Kod
dzies.
Kod binarny
01000001
01000010
01000011
01001011
01001100
10101011
10110011
10111100
a
b
c
k
l
ś
Ă
-
97
98
99
107
108
189
198
196
00110001
00110010
00110011
01101011
01101100
10111101
11000110
11000100
Piszemy w kodzie ASCII
A
l
65
97
01000001
00110001
binarnie
a
108dziesiętnie
01101100
Kod UNICODE
256 znaków alfanumerycznych jakie moŜna
zakodować za pomocą rozszerzonego kodu
ASCII nie dawało moŜliwości zakodowania
znaków
diakrytycznych
wielu
języków
np.:japońskiego, arabskiego, hebrajskiego itp.
Odpowiedzią jest kod nazywany UNICODE o
długości 16 bitów dla kaŜdego znaku, a to
daje juŜ moŜliwość zakodowania 216 czyli
65536 znaków
Kodowanie w praktyce
Jednostka
centralna
0110010
Jednostki informacji
1kbit [Kb]=210b=1024 bity
1Mbit[Mb]=1024 Kb=1048576 bity
1 byte=8 bitów
1kB =210bajtów=1024 B
1MB=1024 KB=1048576 B
Download