Wprowadzenie do inżynierii przetwarzania informacji



Pobieranie 367,82 Kb.
Strona1/4
Data29.10.2017
Rozmiar367,82 Kb.
  1   2   3   4

Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 3.

Arytmetyka stałopozycyjna



Cel dydaktyczny: Nabycie umiejętności wykonywania podstawowych operacji arytmetycznych na liczbach stałopozycyjnych. Algorytmy dodawania, odejmowania, mnożenia i dzielenia pisemnego w kodzie NKB. Wykonywanie operacji arytmetycznych w systemach cyfrowych. Operacje arytmetyczne w kodzie BCD i kodach uzupełnieniowych. Algorytmy mnożenia i dzielenia w systemach cyfrowych.


  1. Odjąć pisemnie liczby binarne w kodzie NKB o wartościach A = 14.5 i B = 7.625.

  2. Pomnożyć pisemnie liczby binarne w kodzie NKB o wartościach A = 13.25 i B = 5.

  3. Podzielić pisemnie liczby binarne w kodzie NKB o wartościach A = 19.75 i B = 4.125. Wyznaczyć iloraz i resztę.

  4. Dodać w kodzie NKB oraz kodzie BCD następujące liczby binarne 8-bitowe o wartościach A = 94 i B = 28.

  5. Odjąć w kodzie ZM liczby binarne 8-bitowe o wartościach A = +12 i B = -25.

  6. Dodać w kodzie U1 liczby binarne 8-bitowe o wartościach A = -13 i B = 46.

  7. Dodać w kodzie U1 liczby binarne 8-bitowe o wartościach A = -25 i B = -99.

  8. Dodać w kodzie U2 liczby binarne 9-bitowe o wartościach A = -35 i B = -135.

  9. Wykonać mnożenie w kodzie NKB za pomocą algorytmu przeznaczonego dla układów cyfrowych. Pomnożyć 5-bitowe liczby binarne A = 01101 = +13 i B = 01001 = +9. Przyjąć wynik 10-bitowy.

  10. Wykonać dzielenie w kodzie NKB za pomocą algorytmu przeznaczonego dla układów cyfrowych. Podzielić liczbę 8-bitową A = 0011 1000 = +56 przez liczbę 4-bitową
    B = 0110 = +6.

Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 3.



Arytmetyka stałopozycyjna



Cel dydaktyczny: Nabycie umiejętności wykonywania podstawowych operacji arytmetycznych na liczbach stałopozycyjnych. Algorytmy dodawania, odejmowania, mnożenia i dzielenia pisemnego w kodzie NKB. Wykonywanie operacji arytmetycznych w systemach cyfrowych. Operacje arytmetyczne w kodzie BCD i kodach uzupełnieniowych. Algorytmy mnożenia i dzielenia w systemach cyfrowych.

Wprowadzenie teoretyczne
3. Operacje na liczbach stałopozycyjnych
Na liczbach rzeczywistych zapisanych w układzie binarnym można wykonywać podstawowe operacje arytmetyki stałopozycyjnej podobnie jak w układzie dziesiętnym.
3.1. Reguły działań arytmetycznych w układzie dziesiętnym
Dodawanie

Operacja dodawania dwóch liczb S = A+B w układzie dziesiętnym rozpoczyna się od cyfr najmniej znaczących ai oraz bi obu liczb. Jeśli suma cyfr przekroczy 9 pojawia się przeniesienie ci+1=1 na następną pozycję, a jeśli nie to otrzymana suma stanowi najmniej znaczącą cyfrę wyniku. Wynika stąd, że w przypadku dodawania cyfr ai oraz bi należy uwzględnić przeniesienie wchodzące ci z pozycji mniej znaczącej oraz przeniesienie wychodzące ci+1 na pozycję bardziej znaczącą. W przypadku dodawania wartość przeniesienia nie może przekroczyć jedynki. Reguły dodawania cyfr w układzie dziesiętnym mogą być zapisane w postaci:


si = (ai + bi + ci) mod 10,

ci+1 = (ai + bi + ci) div 10,
gdzie mod – operator reszta z dzielenia, div – operator część całkowita z dzielenia.

W wyniku dodawania liczb n-cyfrowych może pojawić się wynik co najwyżej (n+1) cyfrowy.


Przykład. 3.1. Dodać pisemnie liczby dziesiętne A = 244 i B = 58.
11

244


+58

----


302
Suma S = A + B = 244 + 58 = 302.

Odejmowanie


Wyznaczanie różnicy cyfr ai - bi może wymagać pobrania pożyczki z pozycji bardziej znaczącej (i+1). Jeśli między dwoma odejmowanymi cyframi zachodzi relacja ai < bi, to pobierana jest pożyczka z pozycji (i+1). Jej wartość na pozycji i wynosi 10. Stąd, di = (10 + ai) - bi, natomiast cyfra ai+1 > 0 przyjmuje wartość równą (ai+1-1). W przypadku odejmowania można przyjąć, że AB. Wówczas różnica jest dodatnia i wynosi D = A-B. W przeciwnym przypadku należy obliczyć D = B-A i wynik wziąć ze znakiem przeciwnym.
Przykład. 3.2. Odjąć pisemnie liczby dziesiętne A = 143 i B = 97.
3 10

1 4 3


-9 7

-------


4 6
Różnica D = A - B = 143 - 97 = 46.

Mnożenie


W przypadku mnożenia dwóch cyfr ai oraz bi może pojawić się przeniesienie wychodzące ci+1 na pozycję bardziej znaczącą o wartości większej niż jeden. Uwzględniając przeniesienie z pozycji mniej znaczącej reguły obliczania iloczynu M = A*B w układzie dziesiętnym można zapisać w postaci:
mi = (ai * bi + ci) mod 10,

ci+1 = (ai * bi + ci) div 10.
W wyniku mnożenia liczby k-cyfrowej przez liczbę n-cyfrową może pojawić się iloczyn złożony z co najwyżej (k+n) cyfr.
Przykład. 3.3. Pomnożyć pisemnie liczby dziesiętne A = 453 i B = 37.
1

32

453



*37

----


3171

+1359


-------

16761
Iloczyn M = A * B = 453 * 37 = 16761. W wyniku mnożenia liczby 3-cyfrowej przez liczbę


2-cyfrową otrzymano 5-cyfrowy iloczyn.


Dzielenie


Operacja dzielenia dwóch liczb E = A : B jest równoważna odejmowaniu AB. Jeśli AB, to można wyznaczyć część całkowitą z dzielenia oraz resztę lub część całkowitą i część ułamkową z zadaną dokładnością (ustalona liczba cyfr po przecinku ilorazu). Wynika stąd, że iloraz można obliczyć jedynie z zadaną dokładnością lub podać wynik w postaci ułamka.
Przykład. 3.4. Podzielić pisemnie liczby dziesiętne A = 1121 i B = 37.
30

----


1121 : 37

-111


----

11

Iloraz E = A : B = 1121 : 37 = 30 i 11/37, tj. iloraz wynosi trzydzieści i jedenaście trzydziestych siódmych. Dzielenie można wykonywać z uwzględnieniem zadanej liczby miejsc po przecinku.

30.297 2...

----


1121 : 37

-111


----

110


-74

----


360

-333


-----

270


-259

-----


110

-74


----

...



W wyniku dzielenia E = 30.297 (297) ... .



3.2. Operacje arytmetyczne w naturalnym kodzie binarnym (NKB)
Reguły działań arytmetycznych w układzie binarnym są podobne do reguł stosowanych w układzie dziesiętnym. Różnica polega na tym, że operacje dodawania cyfr wykonuje się modulo dwa, a w przypadku odejmowania pożyczka z pozycji bardziej znaczącej ma wartość dwa na pozycji mniej znaczącej. Poniżej są przedstawione reguły pisemnego dodawania, odejmowania, mnożenia i dzielenia dla liczb jednobitowych w kodzie NKB.

3.2.1. Dodawanie binarne


W przypadku dodawania składników jednobitowych ai + bi są możliwe cztery przypadki. Cyfra ai może być równa 0 lub 1 i podobnie cyfra bi. Prowadzi to do następujących reguł dodawania składników jednobitowych.


Przeniesienie ci+1 0 1 0 0

----------------------------------------

Składnik ai 1 1 0 0

Składnik bi 0 1 0 1

----------------------------------------

Suma si 1 0 0 1


Przykład. 3.5. Dodać pisemnie liczby binarne A = 1101.11 = 13.75 i B = 110.1 = 6.5.
1111

1101.11


+110.1

---------

10100.01
S = A + B = 1101.11 + 110.1 = 10100.01 = 20.25. Sprawdzenie: 13.75 + 6.5 = 20.25.

3.2.2. Odejmowanie binarne

Operacja odejmowania binarnego liczb jednobitowych ai - bi może wymagać zaciągnięcia pożyczki z pozycji bardziej znaczącej. Uwzględniając dopuszczalne wartości bitów oraz to, że pożyczka ma wartość dwa, reguły odejmowania binarnego liczb jednobitowych mają następującą postać:


Pożyczka pi+1 0 0 0 1

----------------------------------------

Odjemna ai 1 1 0 0

Odjemnik bi 0 1 0 1

----------------------------------------

Różnica di 1 0 0 1


W przypadku odejmowania 0 – 1 pobierana jest pożyczka o wartości jeden z pozycji (i+1). Wartość pożyczki na pozycji o numerze (i) wynosi 2. Stąd, różnica ai - bi = 0 + 2 – 1 = 1.

Podczas odejmowania liczb binarnych AB wystarczy zakładać, że AB, gdyż w przeciwnym przypadku można wykonać odejmowanie BA i następnie wynik końcowy wziąć ze znakiem przeciwnym.


Przykład. 3.6. Odjąć pisemnie liczby binarne A = 1001.01 = 9.25 i B = 110.1 = 6.5.
0120 2

1001.01


-110.10

---------

010.11
D = A - B = 1001.01 - 110.1 = 10.11 = 2.75. Sprawdzenie: 9.25 - 6.5 = 2.75.

3.2.3. Mnożenie binarne

Mnożenie cyfr binarnych ai * bi nie prowadzi do powstania przeniesienia na pozycję bardziej znaczącą. Stąd, reguły mnożenia mają następującą postać:


Mnożna ai 1 1 0 0

Mnożnik bi 0 1 0 1

----------------------------------------

Iloczyn mi 0 1 0 0


W przypadku mnożenia liczb w układzie binarnym zachodzi konieczność sumowania iloczynów cząstkowych. W wyniku mnożenia może pojawić się iloczyn zajmujący tyle bitów ile wynosi suma bitów zajmowanych przez mnożną i mnożnik. Jeśli mnożone liczby są ułamkami, to podczas mnożenia można pominąć przecinki w mnożnej i mnożniku, a następnie wstawić przecinek w otrzymanym iloczynie. Liczba bitów po przecinku w iloczynie jest równa łącznej liczbie bitów po przecinku w mnożnej i mnożniku.
Przykład. 3.7. Pomnożyć pisemnie liczby binarne A = 111.01 = 7.25 i B = 110.1 = 6.5.

11101


*1101

-------


11101

00000


11101

+11101


-----------

101111001


Uwzględniając trzy miejsca po przecinku uzyskuje się M = A * B = 111.01 * 110.1 = 101111.001 = 47.125. Sprawdzenie: 7.25 * 6.5 = 47.125.
Przykład. 3.8. Pomnożyć pisemnie liczby binarne A = 111.1 = 7.5 i B = 111.1 = 7.5.

1111


*1111

-------


23321 przeniesienie

----------

1111

1111


1111

+1111


----------

11100001


Uwzględniając dwa miejsca po przecinku uzyskuje się M = A * B = 111.1 * 111.1 = 111000.01 = 56.25. Sprawdzenie: 7.5 * 7.5 = 56.25.

3.2.4. Dzielenie binarne

Operacja dzielenia binarnego jest związana z odejmowaniem dzielnika od dzielnej. W przypadku dzielenia cyfr binarnych ai : bi wystarczy rozważyć tylko dzielenie przez jeden. Stąd, reguły dzielenia mają następującą postać:


Dzielna ai 1 0

Dzielnik bi 1 1

---------------------------------

Iloraz ei 1 0


Dzielenie można zakończyć w momencie, gdy pojawi się reszta lub kontynuować dzielenie, aż do uzyskania zadanej liczby miejsc po przecinku. Najlepiej przed dzieleniem przesunąć przecinek w dzielnej i dzielniku o taką samą ilość pozycji tak, aby w dzielniku nie występowały bity po przecinku.
Przykład. 3.9. Podzielić pisemnie liczby binarne A = 11101.01 = 29.25 i B = 10.1 = 2.5. Przesunięcie przecinka A = 111010.1 oraz B = 101.

1011.


----------------

111010.1 : 101

-101

----------



1001

-101


----------

1000


-101

-------------

11.1 reszta
Można kontynuować dzielenie i w rezultacie otrzymać część ułamkową.

1011.1011001100 ...

----------------

111010.1 : 101

-101

----------



1001

-101


----------

1000


-101

----------

11 1

-10 1


-----------

1 000


- 101

-----------

0110

-101


-----------

1000


-101

--------------

...

W wyniku dzielenia otrzymano iloraz E = A : B = 11101.01 : 10.1 = 1011 reszta 11.1/101 = 11 reszta 3.5/5. Sprawdzenie: 29.25 : 2.5 = 11.7 = 1011.10 (1100) ... .





  1   2   3   4


©operacji.org 2017
wyślij wiadomość

    Strona główna