background image

23.06.21

IMSiIS

1.1

Uniwersytet Kazimierza Wielkiego

Arytmetyka komputerowa

background image

23.06.21

IMSiIS

1.2

Systemy dziesiętny

Najpopularniejszym z systemów liczbowych 
jest system dziesiętny

234

(10)

 = 2 * 10

+3 * 10

+ 4 * 

10

0

Podstawa 

systemu 

liczbowego

L

(10)

 = C

k

 * 10

+ C

k-1

 * 10

k-1 

+...+ C

0

 * 

10

0

przykład

Uwaga !

W systemie dziesiętnym wykorzystuje 
się 10 cyfr (0, 1,2,3,4,5,6,7,8,9)

background image

23.06.21

IMSiIS

1.3

System dwójkowy

Dwójkowy

 zwany 

binarnym

 systemem liczbowym jest  

pozycyjnym systemem zapisu liczb opartym na 
potęgach liczby 2. Wykorzystuje dwie cyfry (

0

,

1

)

1010

(2)

 = 1 * 2

+0 * 2

+ 1 * 2

+ 0 * 2

10

(10)

przykład

Cyframi tego systemu są: 

0

 i 

1

. Symbolizują one dwa 

stany tzw. stan niski i stan wysoki. Podstawą systemu jest 

2

. Stąd też i nazwa - układ dwójkowy. A ponieważ jest to 

również system pozycyjny, to możemy w znany już sposób 
dokonywać konwersji liczby z systemu dziesiątkowego na 
dwójkowy

background image

23.06.21

IMSiIS

1.4

Zmiana liczb dziesiętnych na binarne

236 = 2 · 10

2

+ 3 · 10

1

+ 6 · 10

0

Cyfra

Waga

236 : 2 =118 reszta 

0

 118 : 2 =59 reszta 

0

  59 : 2 = 29 reszta 

1

  29 : 2 = 14 reszta 

1

  14  : 2 = 7 reszta 

0

    7  : 2 = 3 reszta 

1

    3  : 2 = 1 reszta 

1

     1  : 2 = 0 reszta 

1

1 1 1 0 1 1 

0 0

background image

23.06.21

IMSiIS

1.5

Zalety układu binarnego

Mnożenie przez 2 - wystarczy przesunąć wszystkie bity 
w liczbie w lewo o jedną pozycję, 

Dzielenie całkowite przez 2 - poprzez przesunięcie bitów 
w prawo - bit najmniej znaczący (tzw. najmłodszy) jest 
tracony, 

mnożenie i dzielenie całkowite przez potęgi dwójki - 
przesunięcia odbywają się o określoną wykładnikiem 
potęgi liczbę miejsc - na przykład mnożenie przez 8 
odbywa się przez przesunięcie bitów o 3 pozycje w lewo 
(8=2<<3), 

inne, złożone z powyższych.

background image

23.06.21

IMSiIS

1.6

Wady

podany powyżej sposób dotyczy tylko zapisu liczb 
całkowitych dodatnich, w przypadku liczb rzeczywistych 
należy użyć innych metod.

w celu binarnego zapisania dużej liczby potrzebujemy 
znacznie dłuższego ciągu znaków 0/1 niż w przypadku 
zapisu dziesiętnego.

Zapis liczb ujemnych wymaga stosowania dodatkowego 
mechanizmu

background image

23.06.21

IMSiIS

1.7

System szesnastkowy

System szesnastkowy

 zwany 

heksadecymalnym

 

wykorzystuje do zapisu liczby 16 cyfr (dziesięć 

cyfr podstawowych (

0

 – 

9

) oraz litery 

A

B

C

D

E

F

 odpowiadające kolejno wartości 10, 11, 12, 

13, 14, 15

Każdej cyfrze systemu szesnastkowego 

odpowiada cztero-pozycyjna liczba systemu 

dwójkowego. Zamiana liczby dwójkowej na 

szesnastkową polega na przypisaniu każdym 

kolejnym czterem pozycjom zerojedynkowym 

odpowiedniej cyfry układu szesnastkowego

1011 0011 1010

(2)

 = 

B3A

(16)

przykład

11

(10

)

3

(10)

10

(10

)

background image

23.06.21

IMSiIS

1.8

Jednostki informacji

Komputer przechowuje dane w postaci 

liczb binarnych

 (2);

Pojedyncza cyfra systemu dwójkowego mogąca 
przechowywać informację o jednym z dwóch możliwych 
stanów – może przybierać wartość 

0

 lub 

1

, oznacza 

najmniejszą i niepodzielną jednostkę informacji cyfrowej – 
zwanej 

bit

bit

-em (1 

b

b

);

Bity grupuje się w 

bajt

bajt

 (1 

B)

B)

, którego tworzy 8 bitów.

1 kB =2

10

 B = 1024 B                      (

kilobajt

)

1 MB =2

20 

B = 1024 kB                   (

megabajt

)

1 GB =2

30 

MB = 1024 MB               (

gigabajt

)

1 TB =2

40

B = 1024 GB                    (tera

bajt

)

1 PB =2

50

B = 1024 TB                     (

peta bajt

)

1 EB =2

60

B = 1024 PB                     (

eksabajt

)

background image

23.06.21

IMSiIS

1.9

Reprezentacja liczb naturalnych

Liczby naturalne

 przechowywane są dokładnie tak, jak 

zapisuje się je w systemie dwójkowym. 

Każdy bit stanowi pojedynczą cyfrę w tym systemie;

Liczba zapisana w postaci binarnej jest określona przez 
ilość możliwych kombinacji bitów zajmując przy tym 
określony obszar pamięci komputera

2

8

 = 256

przykład

Dla 1 B (8b) możliwych liczb 
będzie:

Przyjmując za pierwszą liczbę 0 otrzymujemy zakres liczb 0 - 
255

bit

7

6

5

4

3

2

1

0

waga

128 64

32

16

8

4

2

1

background image

23.06.21

IMSiIS

1.10

Reprezentacja liczb całkowitych

Reprezentację 

liczb całkowitych

 w komputerze 

wymaga zastosowania pewnego mechanizmu do 
najpopularniejszych rozwiązań należy:

reprezentacja 

znak-moduł

 – polega ona na tym, że 

informację o tym czy mamy do czynienia z liczbą 
dodatnią czy ujemną określamy poprzez wartość 
najbardziej znaczącego bitu ( jeśli 

0

 to 

+

, jeśli 

1

 to 

-

)

reprezentacja 

uzupełnienia do dwóch 

(

U2

), 

podobnie jak poprzednia notacja używa najbardziej 
znaczącego bitu jako bitu znaku, różni się natomiast 
interpretowaniem pozostałych bitów.

background image

23.06.21

IMSiIS

1.11

Reprezentacja znak-moduł

Reprezentacja znak-moduł ma kilka wad:

odejmowanie i dodawanie wymaga rozważania znaków 

liczb jaki i ich modułów;

występowanie dwóch reprezentacji liczby 0; 

0

0 1 0 0 1 0 0

zna
k

moduł


bit

N-1 bitów

Słowo 8 bitowe

Możliwe jest zakodowanie 256 liczb 

od –128 (10000000)

(2)

 do 127 

(01111111)

(2)

 

Uwaga !

10000000
00000000

background image

23.06.21

IMSiIS

1.12

Arytmetyka liczb całkowitych

Negowanie

Dodawanie

Odejmowanie

Mnożenie

Dzielenie

background image

23.06.21

IMSiIS

1.13

Negowanie

Negowanie realizuje się za pomocą następujących 
czynności:

 należy zanegować wszystkie bity liczby negowanej 
(negacja bitowa:

Do otrzymanego wyniku dodać 1 stosując normalne 
dodawanie dla liczb binarnych

1

0

0

1

1

1

0

1

~

0

1

1

0

0

0

1

0

0

1

1

0

0

0

1

0

+

0

0

0

0

0

0

0

1

wynik

0

1

1

0

0

0

1

1

Negacja 
bitowa

Liczba 
przeciwna

background image

23.06.21

IMSiIS

1.14

Dodawanie

Dodawanie liczb binarnych z uzupełnieniem do dwóch 

realizowane jest podobnie do dodawanie w układzie dziesiętnym 

Uwaga podobnie, ale nie identyczne

0 0 1 1

0 1 0 0

0 1 1 1

3

4

7

przepełnienie

1 +

1
= 0

background image

23.06.21

IMSiIS

1.15

Odejmowanie

W celu odjęcia od jednej liczby (odjemnej) drugiej liczby 

(odjemnika) wyznaczamy liczbę przeciwną w uzupełnieniu 

do dwóch odjemnika i dodajemy ją do odjemnej

0 1 1

1

0 0 1

0

0 1 1

1

2

7

2-7=2+(-

7)=-5

1 0 0

0

negacja bitowa

0 0 0

1

Dodawana 
jedynka

1 0 0

1

+

Wynik jest liczbą 

przeciwną

0 0 1

0

1 0 0

1

1 0 1

1

-5

+

W przypadku odejmowania 
tez może wystąpić 
przepełnienie

background image

23.06.21

IMSiIS

1.16

Reprezentacja liczb rzeczywistych

W postaci kodu stałoprzecinkowego 
(stałopozycyjnego)

W postaci kodu zmiennoprzecinkowego 
(zmiennopozycyjnego)

Liczby rzeczywiste można przedstawić:

Nie jest możliwe przedstawienie nieskończonych zbiorów za 
pomocą skończonej liczby bitów. Do obliczeń w komputerach 
stosuje się reprezentację skończonych podzbiorów liczb 
rzeczywistych.
Zgodne jest to ze standardem 

IEEE – 754

, gdzie określony został 

standard zapisu i działań arytmetycznych na liczbach 
zmiennoprzecinkowych


Document Outline