Arytmetyka Komputerowa
Arytmetyka Komputerowa
podstawy dzia ania
uk adów cyfrowych
Idea dzia ania
Idea funkcjonowania uk adów cyfrowych oparta jest na
za
eniu, e wszelka informacja i wszelkie wielko ci
przetwarzane przez te uk ady reprezentowane s
przez dwa stany.
Stany te mo emy umownie nazywa zerem (0) i jedynk
(1) lub stanem niskim (L) i wysokim (H). Tak
przedstawion informacj lub wielko ci nazywamy
dyskretnymi, w przeciwie stwie do informacji
lub wielko ci analogowych, które reprezentowane s
przez bardzo wiele po
onych blisko siebie stanów.
Okaza o si , ze informacja dyskretna, czyli informacja
w postaci cyfrowej (dwójkowej, binarnej),
ma w zastosowaniach elektronicznych bardzo istotne
zalety.
Poziomy logiczne
Poziomy logiczne dla wej cia i wyj cia
Ka da informacja przechowywana w komputerze lub
wyst puj ca w dzia aniach wykonywanych za pomoc komputera,
ona z cyfr, liter, rysunków, d wi ków itd., jest zapisywana
w postaci dwójkowej, zwanej te
binarn , czyli za pomoc
dwóch cyfr 0 i 1. Najmniejsza porcja informacji przechowywanej w
komputerze, przyjmuj ca jedn z tych dwóch warto ci, nazywa si
bitem (od angielskiego okre lenia binary digit - cyfra dwójkowa).
Wi ksz jednostk informacji jest bajt, z
ony z o miu bitów.
Jednostki pami ci:
bit (b): najmniejsza jednostka pami ci: 0 lub 1
bajt (B)
1B = 8 b
kilobajt (kB)
1kB = 1024B
megabajt (MB)
1MB = 1024 kB
gigabajt (GB)
1GB = 1024 MB
System dziesi tny
Jest to system, w którym ka da cyfra liczby oznacza ilo
jednostek okre lonych przez jej pozycj w liczbie. Pierwsza cyfra
z prawej strony liczby jest cyfr jedno ci, druga z prawej jest cyfr
dziesi tek, nast pna to cyfra setek itd. Dla przyk adu liczba 737
jest z
ona z cyfr 7, 3 i 7 oznacza warto
:
7·100+3·10+7 = 7 ·102+3·101+7·100
Mówimy w takim przypadku, e pierwsza cyfra 7 jest cyfr
setek (czyli liczb setek w danej liczbie), cyfra 3 jest cyfr
dziesi tek, a druga cyfra 7 - cyfr jedno ci. Opisany tutaj sposób
zapisu liczb nazywany jest systemem pozycyjnym dziesi tnym.
System ten nazywamy dziesi tnym, poniewa
ywa dziesi ciu
cyfr, a jego podstaw jest 10, za pozycyjnym, gdy pozycja
cyfry w liczbie rozstrzyga, czy jest to liczba jednostek, dziesi tek,
setek...
System ten do zapisu liczb stosujemy wszystkie dziesi
cyfr,
od 0 a po 9. Podstaw pot gi jak wida jest liczba 10.
DZIESI
DZIESI
TNY SYSTEM LICZBOWY
TNY SYSTEM LICZBOWY
Do zapisu dowolnej liczby system wykorzystuje
Do zapisu dowolnej liczby system wykorzystuje
dziesi
dziesi
symboli (cyfr):
symboli (cyfr):
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Dowoln
Dowoln
liczb
liczb
w systemie dziesi
w systemie dziesi
tnym mo
tnym mo
emy
emy
przedstawi
przedstawi
jako nast
jako nast
puj
puj
ca sum
ca sum
:
:
(a
(a
n
n
-
-
1
1
...a
...a
1
1
a
a
0
0
)
)
D
D
= a
= a
n
n
-
-
1
1
*10
*10
(n
(n
-
-
1)
1)
+...+ a
+...+ a
1
1
*10
*10
1
1
+ a
+ a
0
0
*10
*10
0
0
=
=
gdzie:
gdzie:
i
i
-
-
numer pozycji w liczbie,
numer pozycji w liczbie,
a
a
i
i
-
-
dowolna z cyfr od 0 do 9,
dowolna z cyfr od 0 do 9,
n
n
-
-
ilo
ilo
cyfr (pozycji) w liczbie
cyfr (pozycji) w liczbie
Przyk
Przyk
ad:
ad:
424
424
D
D
= 4*10
= 4*10
2
2
+ 2*10
+ 2*10
1
1
+ 5*10
+ 5*10
0
0
pozycja jedynek (0)
pozycja jedynek (0)
pozycja dziesi
pozycja dziesi
tek (1)
tek (1)
pozycja setek (2)
pozycja setek (2)
1
n
0
i
i
i
10
a
System dwójkowy
W systemie dziesi tnym dysponujemy dziesi cioma cyframi do zapisania dowolnej
liczby bez znaku, w systemie dwójkowym musimy do tego celu u ywa jedynie dwóch
cyfr: 0 i 1. Jak ju wspomniano, obydwa systemy s pozycyjne, co oznacza, e cyfr na
danej pozycji mno y si przez okre lon wag . Dla systemu dwójkowego podstaw jest
liczba 2 (p = 2) i wagami s odpowiednie pot gi tej liczby. Kolejne pozycje liczby zwane
wi c pozycjami jedynek, dwójek, czwórek, ósemek i tak dalej. Zapis w systemie
dwójkowym, zwanym inaczej systemem binarnym, liczby 10100
B
(litera B sygnalizuje liczb w systemie dwójkowym) oznacza:
10100
B
=1*2
4
+ 0*2
3
+ 1*2
2
+ 0*2
1
+ 0*2° = 1*16+ 0*8 + 1*4 + 0*2 + 0*1 = 16+ 4 = 20
D
PAMI TAJ, E 2
0
=1 a NIE 0
1011100001
B
= 1·2
9
+0·2
8
+1·2
7
+1·2
6
+1·2
5
+0·2
4
+0·2
3
+0·2
2
+0·2
1
+1·2
0
=
512+128+64+32+1 = 737
Zapisujemy w takim przypadku: (1011100001)
2
= 737
D
.
DW
DW
Ó
Ó
JKOWY SYSTEM LICZBOWY
JKOWY SYSTEM LICZBOWY
Do zapisu dowolnej liczby system wykorzystuje
Do zapisu dowolnej liczby system wykorzystuje
dwa symbole (cyfry):
dwa symbole (cyfry):
0, 1
0, 1
Dowoln
Dowoln
liczb
liczb
w systemie dw
w systemie dw
ó
ó
jkowym mo
jkowym mo
emy
emy
przedstawi
przedstawi
jako nast
jako nast
puj
puj
ca sum
ca sum
:
:
(a
(a
n
n
-
-
1
1
...a
...a
1
1
a
a
0
0
)
)
B
B
= a
= a
n
n
-
-
1
1
*2
*2
(n
(n
-
-
1)
1)
+...+ a
+...+ a
1
1
*2
*2
1
1
+ a
+ a
0
0
*2
*2
0
0
=
=
gdzie:
gdzie:
i
i
-
-
numer pozycji w liczbie,
numer pozycji w liczbie,
a
a
i
i
-
-
dowolna z cyfr (0 lub 1),
dowolna z cyfr (0 lub 1),
n
n
-
-
ilo
ilo
cyfr (pozycji) w liczbie
cyfr (pozycji) w liczbie
Przyk
Przyk
ad:
ad:
10100
10100
B
B
= 1*2
= 1*2
4
4
+ 0*2
+ 0*2
3
3
+ 1*2
+ 1*2
2
2
+ 0*2
+ 0*2
1
1
+ 0*2
+ 0*2
0
0
1
n
0
i
i
i
2
a
System szesnastkowy
Jest to system liczbowy, w którym za podstaw przyjmuje si liczb 16. „Cyframi” w
tym systemie s kolejne cyfry dziesi tne: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 oraz A, B, C, D, E i F.
Dziesi tna liczba 20 ma w tym systemie przedstawienie 14, gdy 20 = 1·161 + 4·160,
a 30 ma posta 1E, gdy 30 = 1·161 + E·160 .
HEKSADECYMALNY (SZESNASTKOWY)
HEKSADECYMALNY (SZESNASTKOWY)
SYSTEM LICZBOWY
SYSTEM LICZBOWY
Do zapisu dowolnej liczby system wykorzystuje
Do zapisu dowolnej liczby system wykorzystuje
szesna
szesna
cie symboli (cyfr i liter):
cie symboli (cyfr i liter):
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Dowoln
Dowoln
liczb
liczb
w systemie heksadecymalnym
w systemie heksadecymalnym
mo
mo
emy przedstawi
emy przedstawi
jako nast
jako nast
puj
puj
ca sum
ca sum
:
:
(a
(a
n
n
-
-
1
1
...a
...a
1
1
a
a
0
0
)
)
H
H
= a
= a
n
n
-
-
1
1
*16
*16
(n
(n
-
-
1)
1)
+...+ a
+...+ a
1
1
*16
*16
1
1
+ a
+ a
0
0
*16
*16
0
0
=
=
gdzie:
gdzie:
i
i
-
-
numer pozycji w liczbie,
numer pozycji w liczbie,
a
a
i
i
-
-
dowolna cyfra heksadecymalna,
dowolna cyfra heksadecymalna,
n
n
-
-
ilo
ilo
cyfr (pozycji) w liczbie
cyfr (pozycji) w liczbie
Przyk
Przyk
ad:
ad:
1C2
1C2
H
H
= 1*16
= 1*16
2
2
+ C*16
+ C*16
1
1
+ 2*16
+ 2*16
0
0
1
n
0
i
i
i
16
a
• System bitowy – dwójkowy
Liczba zapisywana jest ci giem liczb: 1 lub 0
Komputer rozumie liczby
w systemie bitowym
0
1
0
1
Bit – najmniejsza
jednostka danych
Bajt – jednostka danych
sk adaj ca si z 8 bitów
= 1*2
3
+0*2
2
+ 1*2
1
+0*2
0
= 10
• System szesnastkowy
Podobnie jak wy ej, liczba zapisywana jest ci giem liczb: od 0 do 15 (0 do E)
E
1
00011110 = 0*2
7
+ 0*2
6
+ 0*2
5
+ 1*2
4
+ 1*2
3
+1*2
2
+ 1*2
1
+0*2
0
= 30
•System dziesi tny
zapisany liczbami arabskimi
Jedn
z metod konwersji liczby dziesi tnej na dwójkow
poka
na przyk adzie,
pomijaj c uzasadnienie jej poprawno ci. Metoda ta polega na wykonywaniu kolejnych
dziele
ca kowitoliczbowych (wynik jest liczb
ca kowit ) przez liczb
2, z zapisem
reszty. Rozpoczynamy od podzielenia liczby przeliczanej przez 2. Kolejne dzielenie
wykonujemy na liczbie b
cej ilorazem (wynikiem) poprzedniego dzielenia.
Post powanie kontynuujemy a do momentu otrzymania jako wyniku 0. Reszty dziele
ustawione w odpowiedniej kolejno ci daj poszukiwan liczb binarn .
Dokona konwersji liczby 23
D
na liczb binarn .
23:2=11
r=1
11:2=5
r=1
5:2=2
r=1
2:2=1
r=0
1:2=0
r=1
Kierunek
odczytu
wyniku
23
D
=10111
B
Konwersja liczby szesnastkowej na dziesi tn
[*]Mamy liczb szesnastkow np. 1A4B
[*]Bierzemy znak najbardziej wysuni
w prawo (B)
[*]Mno ymy j przez 16 do pot gi odpowiadaj cej miejscu jej po
enia w liczbie tj.
11*16^0=11 (Miejsca liczymy od prawej strony 1 miejsce odpowiada pot dze 0 drugie 1
trzecie 2 itd.)
[*]Post pujemy tak ze wszystkimi znakami w liczbie. 4*16^1=64, 10*16^2=2560,
1*16^3=4096
[*]Dodajemy otrzymane wyniki: 11+64+2560+4096=6731
[*]Liczba 1A4B w systemie szesnastkowym równa si 6731 w systemie dziesi tnym.
[/list:o]
Konwersja liczby dziesi tnej na szesnastkow
Teraz zajmiemy si odwróceniem liczby 6731 do systemu szesnastkowego.
[*]Wypisujemy wielokrotno ci liczby 16. S to 1, 16, 256, 4096, 65536, 1048576 itd.
[*]Szukamy przedzia u, w którym znajduje si nasza liczba. Jest ona wi ksza, od 4096
ale mniejsza od 65536
[*]Bierzemy pod uwag wielokrotno
mniejsz , ale najbli sz naszej liczbie, wi c 4096.
[*]Jest ona czwart wielokrotno ci , wi c liczymy 4 znak naszej liczby.
[*]Teraz sprawdzamy ile razy najbli sza, mniejsza wielokrotno ci mie ci si w naszej
liczbie. Na oko wida tylko raz, wi c pierwsz liczb
dzie 1.
[*]Szukamy odpowiednika liczby w systemie szesnastkowym. Odpowiednikiem 1 jest 1.
[*]Od naszej liczby odejmujemy warto
, któr sprawdzali my pomno on przez cyfr ,
któr otrzymali my w systemie szesnastkowym (lecz bierzemy jej odpowiedniki w
systemie dziesi tnym). Wi c 6731-4096*1=2635.
[*]Powtarzamy punkty 2-7 dla uzyskania ca ej liczby.
Wi c:
256 < 2635 < 4096 2635:256=10 10=A 2635-256*10=75
16 < 75 < 256 75:16=4 4=4 75-16*4=11
1<11<16 11:1=11 11=B 11-1*11=09.
[*]
czymy ostateczne wyniki w identycznej kolejno
, w jakiej je otrzymali my, dlatego
nasza liczba wynosi: 1A4B[/list:o]
przekszta czenie liczby 2-kowej na 16-kow :
Mamy liczb dwójkow 1000111010100010 dzielimy j co cztery liczby na:
1000 1110 1010 0010 i zamieniamy na odpowiedniki szesnastkowe:
8
E
A
2
- w systemie szesnastkowym to 8EA2.
1111
F
0111
7
1110
E
0110
6
1101
D
0101
5
1100
C
0100
4
1011
B
0011
3
1010
A
0010
2
1001
9
0001
1
1000
8
0000
0
Liczba
binarna
Cyfra hex
Liczba
binarna
Cyfra hex
Konwersja liczb dziesi tnych na szesnastkowe przy u yciu kalkulatora
[*] W cz kalkulator.
[*] Z menu widok wybierz pozycj "naukowy".
[*]Nast pnie wpisz liczb dziesi tn i wci nij okienko HEX.
[*] Otrzymujemy liczb w systemie szesnastkowym.
Je eli chcemy skonwertowa liczb z postaci szesnastkowej post pujemy na odwrót:
[*] Wpisujemy liczb szesnastkow .
[*] Naciskamy DEC.
[*] Otrzymujemy liczb w systemie dziesi tnym.
program
INFORMACJA CYFROWA
INFORMACJA CYFROWA
Def.1. Informacj cyfrow nazywamy informacj przedstawion w postaci s ów
cyfrowych
Def.1. Informacj cyfrow nazywamy informacj przedstawion w postaci s ów
cyfrowych
Def.2. S owem cyfrowym nazywamy dowolny ci g sk adaj cy si z symboli 0 i/lub 1
Def.2. S owem cyfrowym nazywamy dowolny ci g sk adaj cy si z symboli 0 i/lub 1
ugo
owa
Oznaczenie
symboliczne
Nazwa
1
4
8
16
32
64
a
0
a
3
...a
0
a
7
.....a
0
a
15
.......a
0
a
31
.........a
0
a
63
...........a
0
bit
tetrada, k s
bajt
owo 16-bitowe, s owo
podwójne s owo, dwus owo
owo 64-bitowe, czteros owo
1b
1b
-
- oznacza
1 bit
1 bit
1B=8b
1B=8b
1B
1B
-
-
oznacza 1 bajt
oznacza 1 bajt
1kB=1024B (2
1kB=1024B (2
10
10
)
)
1MB=1024kB
1MB=1024kB
1GB=1024MB
1GB=1024MB
Przyk
Przyk
ad: 20 MB jest ilo
ad: 20 MB jest ilo
ci
ci
informacji o
informacji o
miokrotnie wi
miokrotnie wi
ksz
ksz
ni
ni
20Mb
20Mb
Systemy liczbowe
Przedstawiaj c liczb
dziesi tn
w
systemie binarnym lub heksadecymalnym
nale y pami ta , e w dalszym ci gu jest
to ta sama liczba lecz przedstawiona za
pomoc innego zestawu znaków.
Mo na wi c mówi o kodzie binarnym czy
te kodzie heksadecymalnym.
KONWERSJA LICZB
KONWERSJA LICZB
1.
1.
2.
2.
10100
10100
B
B
= 1*2
= 1*2
4
4
+ 0*2
+ 0*2
3
3
+ 1*2
+ 1*2
2
2
+ 0*2
+ 0*2
1
1
+ 0*2
+ 0*2
0
0
=
=
= 1*16 + 0*8 + 1*4 + 0*2 + 0*1 = 20
= 1*16 + 0*8 + 1*4 + 0*2 + 0*1 = 20
D
D
20:2 = 10
20:2 = 10
10:2 = 5
10:2 = 5
5:2 = 2
5:2 = 2
2:2 = 1
2:2 = 1
1:2 = 0
1:2 = 0
reszta=0
reszta=0
reszta=0
reszta=0
reszta=1
reszta=1
reszta=0
reszta=0
reszta=1
reszta=1
kierunek odc
z
y
tu w
y
niku
kierunek odc
z
y
tu w
y
niku
czyli 20
czyli 20
D
D
= 10100
= 10100
B
B
KONWERSJA LICZB
KONWERSJA LICZB
1.
1.
2.
2.
1C2
1C2
H
H
= 1*16
= 1*16
2
2
+ C*16
+ C*16
1
1
+ 2*16
+ 2*16
0
0
=
=
= 1*256 + 12*16 + 2*1 = 450
= 1*256 + 12*16 + 2*1 = 450
D
D
450:16 = 28
450:16 = 28
28:16 = 1
28:16 = 1
1:16 = 0
1:16 = 0
reszta=2
reszta=2
reszta=C
reszta=C
reszta=1
reszta=1
kierunek
kierunek
odcz
y
tu
odcz
y
tu
w
y
niku
w
y
niku
czyli 450
czyli 450
D
D
= 1C2
= 1C2
H
H
reszty zapisujemy w postaci
reszty zapisujemy w postaci
cyfry heksadecymalnej
cyfry heksadecymalnej
KONWERSJA LICZB
KONWERSJA LICZB
Do konwersji zapisu binarnego na heksadecymalny i odwrotnie
Do konwersji zapisu binarnego na heksadecymalny i odwrotnie
wykorzystuje si
wykorzystuje si
tabel
tabel
:
:
cyfra heksadecymalna
liczba binarna
liczba dziesi tna
0
0000
0
1
0001
1
2
0010
2
3
0011
3
4
0100
4
5
0101
5
6
0110
6
7
0111
7
8
1000
8
9
1001
9
A
1010
10
B
1011
11
C
1100
12
D
1101
13
E
1110
14
F
1111
15
Konwersja
Konwersja
Konwersja dwójkowo-szesnastkowa i szesnastkowo-dwójkowa
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
A
1010
B
1011
C
1100
D
1101
E
1110
F
1111
110101111011010101011101
(2)
1101 0111 1011 0101 0101 1101
(2)
1101 0111 1011 0101 0101 1101
D 7 B 5 5 D
110101111011010101011101
(2)
= D7B55D
(16)
D 7 B 5 5 D
1101 0111 1011 0101 0101 1101
D7B55G
(16)
= 111101010100000001
(2)