1
Arytmetyka w systemie
binarnym
2
Reguły dodawania binarnego
dodawane
bity
suma
przeniesienie
0 + 0
0
0
0 + 1
1
0
1 + 0
1
0
1 + 1
0
1
3
Przykład
1 1 1 0 0 0
+
1 0 0 0 1
---------------------
1 0 0 1 0 0 1
4
Odejmowanie
1 1 1 0 0 1
- 1 1 0 1
---------------
1 0 1 1 0 0
5
Mnożenie
1 1 1 1
* 1 0 1
----------------
1 1 1 1
+ 0 0 0 0
1 1 1 1
-----------------
1 0 0 1 0 1 1
6
Dzielenie
1 1 0
----------------
1 0 0 1 0 : 11
1 1
----------
1 1
1 1
--------------
0
7
Liczby ujemne
8
W systemie binarnym nie ma
możliwości zapisu liczb ujemnych.
Konieczna jest jego modyfikacja.
9
System kodowania znaku i
modułu
Skrajny lewy bit - bit znaku
0 – liczba dodatnia
1 – liczba ujemna
10
System kodowania znaku i
modułu
np. przy użyciu 8 bitów zapis liczb 20
10
i
-5
10
20
10
= 00010100
2
–5
10
= 10000101
2
11
System kodowania znaku i
modułu
n
zero może być reprezentowane na
dwa sposoby:
00000000
oraz
10000000
12
System kodowania znaku i
modułu
wada:
skomplikowany sposób operacji
dodawania i odejmowania
13
System uzupełnień do
dwóch
n
tylko jedna liczba służy do oznaczania
zera
n
operacje binarnego dodawania i
odejmowania mogą być wykonywane w ten
sam sposób
n
znak nie jest oddzielony od wartości
liczby
n
każda liczba, której najbardziej znaczący
bit jest jedynką musi być liczbą ujemną
14
System uzupełnień do
dwóch
Najbardziej znaczący bit jest
wykorzystywany zarówno jako bit
znaku, jak i bit wpływający na
wartość liczby.
15
System uzupełnień do
dwóch
n
Kodowanie liczby ujemnej
n
Kodujemy moduł tej liczby
n
Negujemy wszystkie bity
n
Dodajemy 1 do najmniej znaczącego
bitu
16
System uzupełnień do
dwóch
Używając 8 bitów możemy
zakodować liczby z przedziału
-128
10
do 127
10
1000000 -128
0111111 +127
17
Kod BCD
n
ang.
B
inary
C
oded
D
ecimal
n
Kod binarny zwany systemem
dziesiętnym kodowanym dwójkowo
n
Każdą cyfrę dziesiętną kodujemy za
pomocą czterech bitów
9 1 6 4
1001 0001 0110 0100
18
Kod BCD
Nie można na nim stosować w
prosty sposób operacji
arytmetycznych.
19
Arytmetyka w systemie
uzupełnień do dwóch
20
Przepełnienie
arytmetyczne
n
Powstaje gdy suma wykracza poza
zakres reprezentowanych liczb.
n
Może powstać tylko wtedy, gdy są
dodawane liczby o tym samym
znaku
n
Powstaje, gdy bit znaku sumy jest
różny od bitów znaku dodawanych
liczb
21
Zapis liczby rzeczywistej
w systemie binarnym
22
Liczba zapisana w systemie
dwójkowym
w postaci:
(
c
k
… c
0
,
c
-1
c
-2
… c
-n
)
2
jest równa liczbie w systemie
dziesiątkowym:
(
c
k
*2
k
+… +c
0
*2
0
+
c
-1
*2
-1
+… + c
-n
*2
-n
)
10
23
11
.
101
= 1*2
1*2
1
1
+1*2
+1*2
0
0
+
+ 1*2
1*2
-1
-1
+0*2
+0*2
-2
-2
+ 1*2
+ 1*2
-3
-3
=
=
część całkowita
część całkowita
część ułamkowa
część ułamkowa
=
= 2 + 1
2 + 1
+
+
1/2
1/2
+ 0
+ 0
+
+
1/8
1/8
=
=
= 3 +
= 3 +
4
4
/
/
8
8
+
+
1
1
/
/
8
8
=
=
= 3
= 3
5
5
/
/
8
8
24
Zamiana ułamka
dziesiętnego na ułamek
dwójkowy
0.625 2 * 0.625 =
1
.25
0.25 2 * 0.25 =
0
.5
0.5 2 * 0.5 =
1
.0
0.0 koniec
0.625
10
= 0.101
2
spr. 0.101
2
= 0.5 + 0.125 = 0.625
25
Nie każdą liczbę zapisaną w
postaci ułamka dziesiętnego da się
dokładnie przedstawić
w postaci ułamka dwójkowego.
26
0.3 2 * 0.3 =
0
.6
0.6 2 * 0.6 =
1
.2
0.2 2 * 0.2 =
0
.4
0.4 2 * 0.4 =
0
.8
0.8 2 * 0.8 =
1
.6
0.6 ….
otrzymany ułamek dwójkowy jest okresowy
0.01001
2
= 0.25 + 0.03125 = 0.28125
10
duży błąd zaokrąglenia