background image

1

Arytmetyka binarna

Arytmetyka binarna

dr inŜ. Michał Porzeziński

Sumator binarny

Sumator binarny

A

i

B

i

C

i

S

i

C

i+1

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

0

1

1

0

1

1

0

0

1

0

1

0

1

0

1

1

1

0

0

1

1

1

1

1

1

A

i

+ B

i

+ C

i

= 2 * C

i+1

+ S

i

Σ

A

i

B

i

S

i

C

i+1

C

i

Kaskada sumatorów

Kaskada sumatorów

Σ

A

1

B

1

S

1

C

2

Σ

A

2

B

2

S

2

C

3

Σ

A

n-1

B

n-1

S

n-1

C

n

C

n-1

Σ

A

0

B

0

S

0

C

1

C

0

n – długość słowa

Dodawanie i odejmowanie liczb w 

Dodawanie i odejmowanie liczb w 

kodach NB i U2

kodach NB i U2



Odejmowanie i dodawanie wykonuje się 
identycznie dla liczb w NB i U2. RóŜne są 
warunki poprawności operacji



Warunek poprawności dla NB: C

n

= 0 

(w mikrokontrolerach wskaźnik CY = 0)



Warunek poprawności dla U2: C

n

= C

n-1

(w mikrokontrolerach wskaźnik OV = 0)

Przesuni

ę

cia w NB

Przesuni

ę

cia w NB

bin          dec

00000101

(5)

0000101

0     (10)

000101

00     (20)

00101

000     (40)

0101

0000     (80)

101

00000     (160)

01

000000

(64)

bin

dec

10100000

(160)

0

1010000     

(80)

00

101000

(40)

000

10100

(20)

0000

1010

(10)

00000

101

(5)

010000

10 

(2)

W lewo 

W prawo

Przesuni

ę

cia w U2

Przesuni

ę

cia w U2

bin

dec

11101000

(-24)

1101000

0     (-48)

101000

00     (-92)

01000

000     

(64)

W lewo 

W prawo

bin

dec

00001100

(12)

0

0000110

(6)

00

000011

(3)

000

00001

(1)

bin

dec

00011000

(24)

0011000

0     (48)

01100

000     (96)

1100

0000     

(-64)

bin

dec

11000100

(-60)

1

1100010

(-30)

11

110001 

(-15)

111

11000  

(-8)

background image

2

Operacje arytmetyczne c.d.

Operacje arytmetyczne c.d.



MnoŜenie i dzielenie liczb NB i U2



Normalizacja mantysy liczb zmiennoprzecinkowych



Dodawanie/odejmowanie liczb 
zmiennoprzecinkowych



MnoŜenie/dzielenie liczb zmiennoprzecinkowych

2

1

)

(

2

1

2

1

2

1

2

)

*

2

(

)

*

2

(

M

M

M

M

E

E

E

E

+

=

)

(

2

2

2

)

*

2

(

)

*

2

(

2

'

1

'

2

'

1

'

2

1

2

1

M

M

M

M

M

M

E

E

E

E

E

+

=

+

=

+

Sytuacje przekroczenia zakresu 

Sytuacje przekroczenia zakresu 

podczas operacji na liczbach w 

podczas operacji na liczbach w 

kodzie U2

kodzie U2

Opera c ja Argument1

Argume nt2

Wynik

doda tni

doda tni

ujemny

ujemny

uje mny

doda tni

doda tni

uje mny

ujemny

ujemny

doda tni

doda tni

doda tni

doda tni

ujemny

ujemny

uje mny

ujemny

doda tni

uje mny

doda tni

ujemny

doda tni

doda tni

+

-

* /