ArKom 3 13 ARYTMETYKA KOMPUTEROWA

background image

Architektura komputerów

3. ARYTMETYKA

KOMPUTEROWA

background image

3 ARYTMETYKA KOMPUTEROWA

3.1 Systemy liczbowe
3.2 Arytmetyka dwójkowa
3.2.1 Operacje arytmetyczne w systemie

dwójkowym – liczby dodatnie

3.2.2 Operacje arytmetyczne w systemie

dwójkowym – kod bezpośredni

3.2.3 Operacje arytmetyczne w systemie

dwójkowym – kody uzupełnieniowe

3.3 Liczby zmiennoprzecinkowe
3.4 Znaki alfanumeryczne
3.4.1Kod ASCII

ArKom 2013 – 3. Arytmetyka

komputerowa

2 - 2

background image

• Data 9.1.2013
• Pozycyjne systemy liczbowe:

ArKom 2013 – 3. Arytmetyka

komputerowa

3

r – podstawa; 10, 2, 8, 16
a

i

– współczynnik; 0  air-1

n-1 – liczba cyfr całkowitych
m – liczba cyfr ułamkowych

1

0

1

2

1

...

a

a

a

a

a

N

n

n

1

1

0

0

1

1

2

2

1

1

10

10

10

...

10

10

a

a

a

a

a

N

n

n

n

n

i

i

n

m

i

r

a

N

1

background image

Przykład 3.1
234,56

10

1011,01

2

- ile to jest w systemie

dziesiętnym?

234,56

8

– ile to jest w systemie

dziesiętnym?

ArKom 2013 – 3. Arytmetyka

komputerowa

4

background image

dziesiętn

y

dwójkowy

trójkowy ósemkowy szesnastko

wy

0

0

0

0

0

1

1

1

1

1

2

10

2

2

2

3

11

10

3

3

4

100

11

4

4

5

101

12

5

5

6

110

100

6

6

7

111

101

7

7

8

1000

 

10

8

9

 

 

11

9

10

 

 

 

A

11

 

 

 

B

12

 

 

 

C

13

 

 

 

D

14

 

 

 

E

15

 

 

 

F

16

 

 

 

10

17

 

 

 

11

18

 

 

 

 

19

 

 

 

 

20

 

 

 

 

21

 

 

 

 

ArKom 2013 – 3. Arytmetyka

komputerowa

5

background image

Przykład 3.2
210,01

3

F19A,1

16

- ile to jest w systemie

dziesiętnym

• Konwersja liczb

ArKom 2013 – 3. Arytmetyka

komputerowa

6

background image

Dwójkowe kodowanie cyfr dziesiętnych

BCD (Binary Coded Decimal)

 

Kod dziesietny

Kod dwójkowo-

dziesiętny

(naturalny)

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

9

1001

10

?

wagi

8421

ArKom 2013 – 3. Arytmetyka

komputerowa

7

background image

Przykład 3.3
100000110110,00010101
801,17

• Rejestry – modulo n

ArKom 2013 – 3. Arytmetyka

komputerowa

8

background image

3.2 Arytmetyka dwójkowa
3.2.1 Operacje arytmetyczne w systemie
dwójkowym – liczby dodatnie

• Dodawanie, odejmowanie

Przykład 3.4
110111 + 1011 =
1011 + 0,101 =

ArKom 2013 – 3. Arytmetyka

komputerowa

9

background image

Przykład 3.5
110111 - 1011 =
1011 - 0,101 =
0,01 – 0,01101 =

ArKom 2013 – 3. Arytmetyka

komputerowa

10

background image

• Mnożenie (rejestry mnożnika,

mnożnej, iloczynu)

Przykład 3.6
11101 * 1001 = + rysunek

rejestrów

101,011 * 11,0101 =  

ArKom 2013 – 3. Arytmetyka

komputerowa

11

background image

• Dzielenie (gdy dzielnik nie jest liczbą

całkowitą, należy przesunąć
przecinek

Przykład 3.7
1101,1 : 10,11 =

ArKom 2013 – 3. Arytmetyka

komputerowa

12

background image

3.2.2 Operacje arytmetyczne w systemie
dwójkowym – kod bezpośredni

• Kod bezpośredni – znak

.

moduł liczby

• Uzgadnianie znaku wyniku + operacje na

modułach

Przykład 3.8
(-10111) + (1011) =1.10111 + 0.1011 =

(rejestry)

(-1011) + (-0,101) =
(-101,1) * (+11,01) =

ArKom 2013 – 3. Arytmetyka

komputerowa

13

background image

3.2.3 Operacje arytmetyczne w systemie
dwójkowym – kody uzupełnieniowe

• Uzupełnienie r-te liczby N o podstawie r

ArKom 2013 – 3. Arytmetyka

komputerowa

14

n – liczba pozycji przed
przecinkiem

Przykład 3.9

N = 234,25

N

r

N

n

75

,

765

25

,

234

10

3

N

background image

• Uzupełnienie dwójkowe liczby

Przykład 3.10
N = 1101,01

ArKom 2013 – 3. Arytmetyka

komputerowa

15

11

,

10

01

,

1101

10000

01

,

1101

10

4

N

background image

Algorytm otrzymywania uzupełnienia dwójkowego
1. Analizę rozpoczynamy od najmniej znaczącej

pozycji

2. Najmniej znaczące pozycje liczby równe 0,

łącznie z pierwszą napotkaną jedynką
przepisujemy bez zmiany

3. Pozostałe pozycje liczby uzupełniamy dwójkowo

– 0 na 1, 1 na 0

Przykład 3.11
N = 11001101,01000

ArKom 2013 – 3. Arytmetyka

komputerowa

16

11000

,

00110010

N

background image

Kod uzupełnieniowy N

uzup

ArKom 2013 – 3. Arytmetyka

komputerowa

17

Przykład 3.12
N = +11001101,01000 N

uzup

=

0.11001101,01
N = -1011,0110 N

uzup

=

1.0100,1010

0

.

1

0

.

0

N

gdy

N

N

gdy

N

N

uzup

background image

Algorytm dodawania liczb względnych w kodzie
uzupełnieniowym
1. Zapisać liczby w kodzie uzupełnieniowym
2. Dodać obie liczby łącznie z pozycjami znaków (ew.

przeniesienie na pozycji znaku gubi się

3. Gdy wynik dodawania ma na pozycji znaku 0, to

jest to liczba dodatnia zapisana w kodzie
bezpośrednim. Natomiast gdy na pozycji znaku
jest 1, to wynik jest ujemny, a liczba zapisana w
kodzie uzupełnieniowym i należy
przeprowadzićkonwersje do kodu bezpośredniego.

ArKom 2013 – 3. Arytmetyka

komputerowa

18

background image

Przykład 3.13
Dodaj A = +1001111 oraz B = -0101101

Kody bezpośredni A = 0.1001111 B =

1.0101101

Kod uzupełnieniowy A

uzup

= 0.1001111 B

uzup

=

1.1010011

(A + B)

uzup

= 0.1001111 + 1.1010011=

(1)0.0100010

ArKom 2013 – 3. Arytmetyka

komputerowa

19

background image

3.3 Liczby zmiennopozycyjne

• Cechy (atrybuty) liczby rzeczywistej;

Znak, wielkość (zakres), dokładność

Przykład 3.14

- 2345,000006000
+ 0,0000000000001234
- 987654321,01

• Dostosowanie do operacji

„arytmetycznych”

ArKom 2013 – 3. Arytmetyka

komputerowa

20

background image

• Liczby zmiennopozycyjne,

zmiennoprzecinkowe, notacja naukowa

• Zapis liczby zmiennoprzecinkowej

<znak mantysa wykładnik>

• s (sign) – znak liczby, 1, 0 lub -1
• M (mantissa) – znormalizowana mantysa, liczba

ułamkowa (lub jedna pozycja przed przecinkiem)

• B (base) – podstawa systemu liczbowego (2 dla

systemów komputerowych)

• E (exponent) – wykładnik, liczba całkowita

ArKom 2013 – 3. Arytmetyka

komputerowa

21

E

B

M

s

L

background image

Przykład 3.15

- 2345,000006000 => <- 2345000006 5>
+ 0,0000000000001234 => <+ 1234 -12>
- 987654321,01 => <- 98765432101 10>

ArKom 2013 – 3. Arytmetyka

komputerowa

22

background image

• Notacja naukowa

• Notacja naukowa

L = znak mantysa E wykładnik

Przykład 3.16

- 2345,000006000 => - 2,345E3
+ 0,000 000 000 000 123 4 => + 1,234E-13
- 987 654 321,01 => - 9,8765432101E8

ArKom 2013 – 3. Arytmetyka

komputerowa

23

background image

Ograniczona wielkość pól przeznaczonych
do zapisu mantysy i wykładnika

Przykład 3.17
Pole mantysy ma pięć pozycji, czyli

- 2345,000006000 =>

<- 2345000006 5> =>

<- 23450 5>

+ 0,0000000000001234 => <+ 1234 -12> =>

<+ 12340 -12>

- 987654321,01 => <- 98765432101 10> => <-

98765 10>

ArKom 2013 – 3. Arytmetyka

komputerowa

24

background image

• Dwójkowa reprezentacja liczb

zmiennopozycyjnych

• Dla każdego pola liczby zmiennoprzecinkowej są

przeznaczone określone liczby bitów, w których
zapisuje się kody dwójkowe

Przykład 3.17
Pole mantysy ma pięć bitów + znak, a pole
wykładnika 3 bity + znak,

1 10100 0 100 => - 0,5*(10)

4

czyli jaki jest zakres możliwych liczb?

ArKom 2013 – 3. Arytmetyka

komputerowa

25

background image

• Problem zakresu liczb

zmiennopozycyjnych

26.11.2013

ArKom 2013 – 3. Arytmetyka

komputerowa

26

0

+L

m

-L

m

-L

M

+L

M

Nadmi
ar
Overflo
w

Nadmia
r
Overflo
w

Niedomi
ar
Underflo
w

Konieczna
definicja,

background image

• Standard IEEE 754

• Przybliżenie liczby rzeczywistej – zapis:

L= s 2

e

m

• mantysa

ArKom 2013 – 3. Arytmetyka

komputerowa

27

• Zero - można być zakodować na wiele

sposobów - jest kodowane 0 => s=+1,
w=0, m=0

1

,

0

m

background image

• Znak - jeden bit, równy 0 (s= + ) lub 1 (s= - )
• Wykładnik - jak każda inna liczba całkowita w

kodzie uzupełnieniowym do dwóch.

• Mantysa jest mnożona przez 2

f

, gdzie  f  to liczba

bitów przeznaczona na nią i zapisywana jako
liczba naturalna.

ArKom 2013 – 3. Arytmetyka

komputerowa

28

background image

• Całość zajmuje kolejnych 4 (liczba krótka), 8

(liczba długa) albo 16 bajtów (podwójnej precyzji
– zależy od wymaganej precyzji.

Przykład 3.18
Liczba krótka

ArKom 2013 – 3. Arytmetyka

komputerowa

29

31

30

22

0

s

e

M (kod uzupełnieniowy)

1

8

23

Liczba długa

63

62

51 0

s

e

M (kod uzupełnieniowy)

1

8

23

background image

• Operacje na liczba zmiennopozycyjnych

• Mnożenie, dzielenie
• Dodawanie, odejmowanie

ArKom 2013 – 3. Arytmetyka

komputerowa

30

background image

3.4 Znaki alfanumeryczne

Kody alfanumeryczne stosuje się do
zapisu;

– cyfr,
– liter (różne alfabety),
– znaków pisarskich,
– znaków graficznych,
– znaków funkcyjnych (edytorskich)

ArKom 2013 – 3. Arytmetyka

komputerowa

31

background image

3.4.1 Kod ASCII

• Kod ASCII – American Standard Code for

Information Interchange

• Istnieją:

– wersja 7 bitowa (wersja podstawowa) – każdy znak

zapisywany jest jako kod siedmiobitowy

– wersja 8 bitowa (wersja rozszerzona) – dla

dostosowania się do bajtowej organizacji pamięci i
ósmy bit jest zawsze równy zero

• „bardzo uporządkowany” standard np.

– duże i małe litery różnią się jednym ustalonym (6-tym)

bitem; 0 – duża litera, 1 – mała

– „numeracja” liter odpowiada kolejności w alfabecie

ArKom 2013 – 3. Arytmetyka

komputerowa

32

background image

• Litery

• alfabetem podstawowym - alfabet łaciński –

tabela kodowa - i wtedy znaki są zapisywane jako

• inne alfabety -„własne rozszerzające tabele

kodowe” + odwołanie poprzez sekwencję
rozszerzającą (escape sequence) się znakiem
funkcyjnym ESC; zapis

ArKom 2013 – 3. Arytmetyka

komputerowa

33

0

Bity 7 - 1

1

Bity 7 - 1

background image

• Cyfry

• zapis jednobajtowy – używany do przesłania

liczby

• zapis upakowany – do przetwarzania

ArKom 2013 – 3. Arytmetyka

komputerowa

34

0011

Kod BCD

Kod BCD

Kod BCD

background image

• Znaki sterujące

• Ramka protokołu BISYNC (Binary Synchronous

Transmission) [WK?]

ArKom 2013 – 3. Arytmetyka

komputerowa

35

SY

N

SY

N

SO

H

nagłówek

ST

X

tekst

ET

X

BC

C

Znaki kodu ASCII

SOHStart of Head
STXStart of Text
ETXEnd of Text

Znaki spoza kodu ASCII
SYN – synchronizacja
BCC
Block Check Character – znak kontrolny - nie

jest znormalizowane w kodzie ASCII i może to być
suma modulo 2


Document Outline


Wyszukiwarka

Podobne podstrony:
ArKom 2 13 PRZETWARZANIE W KOMPUTERZE Kopia
05 Arytmetyka komputerów Blędy numeryczne
Arytmetyka Komputerowa id 69945 Nieznany
13 Sieci komputerowe
Arytmetyka Komputera
Arytmetyka komputera
Arytmetyka komputerow id 69942 Nieznany (2)
arytmetyka komputero
05 Arytmetyka komputerów Blędy numeryczne
ArKom 4 13 INSTRUKCJE I ADRESOWANIE
ArKom 0 13 OMÓWIENIE
ArKom 5 13 PRZERWANIA
arytmetyka komputerów
ArKom 1 13 WPROWADZENIE

więcej podobnych podstron