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)
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
+
-
* /