• Nie Znaleziono Wyników

Pomoc do programu WAAK 1.0 exe w formacie pdf

N/A
N/A
Protected

Academic year: 2021

Share "Pomoc do programu WAAK 1.0 exe w formacie pdf"

Copied!
15
0
0

Pełen tekst

(1)

Opis programu do wizualizacji algorytmów z zakresu arytmetyki

komputerowej

3.1 Informacje ogólne

Program WAAK 1.0 służy do wizualizacji algorytmów arytmetyki komputerowej. Oczywiście istnieje wiele narzędzi typu konwertery formatu HEX na BIN, kalkulatory itp., ale moim celem było wizualne podejście do tematu arytmetyki komputerowej a dokładniej pokazaniu krok po kroku drogi, jaka jest pomiędzy wprowadzeniem np. dwóch liczb dziesiętnych a wynikiem powstałym np. z ich zsumowania.

Program może pełnić role dydaktyczną dla studentów studiów dziennych i zaocznych uczelni krajowych kształcących się na kierunkach informatyka, elektrotechnika bądź elektronika i telekomunikacja.

3.2 Obsługa programu WAAK 1.0

Program WAAK 1.0 jest bardzo intuicyjny w obsłudze. Starałam się, by był bardzo przejrzysty w obsłudze, aby każdy mógł z niego korzystać. Po uruchomieniu programu WAAK 1.0 zobaczymy okno główne programu:

(2)

Rys 3.1 Okno główne programu WAAK 1.0 – opracowanie własne

Występują tu kolejno zakładki DEC->NKD, ZM i U2 HEX-> DEC

Działania NKD Działania U2 Pomoc

(3)

3.2.1 Zakładka DEC->NKD, ZM i U2

Rys 3.2 Zakładka DEC->NKD, ZM i U2 – opracowanie własne

Zakładka ta dotyczy konwersji:

System dziesięty DEC na dwójkowy NKD Dwójkowy NKD na dziesiętny DEC

Dwójkowy NKD na ZM znak moduł

Dwójkowy NKD na U2 uzupełnień do dwójki

DEC na NKD

Program ten konwertuje zarówno liczby całkowite jak i ułamkowe.

Konwersja ułamka z dziesiętnego systemu liczbowego na ułamek w naturalny kod dwójkowy polega na powtarzaniu mnożenia ułamka przez 2. Przy wyznaczaniu kolejnych bitów ułamka binarnego nie uwzględnia się części całkowitej (jedynki) wyniku mnożenia [3].

Konwersja licz całkowitych polega na tym, że- liczbę dzielimy przez 2 i jeżeli wynik będzie z resztą: zapisujemy 1, jeżeli nie - zapisujemy 0. Następnie znowu dzielimy przez 2 to, co zostało z liczby, ale bez reszty. Taki proces trwa, aż zostanie 0 (zero). Otrzymane zera i jedynki zapisujemy w odwrotnej kolejności.

(4)

Rys 3.3 konwersja DEC na NKD – przykład –opracowanie własne

NKD na DEC

(5)

W systemie dziesiętnym używanych było dziesięć różnych cyfr do zapisu liczby o podstawie 10. W systemie dwójkowym do dyspozycji jest tylko dwie cyfry 1 i 0. Liczby w systemie binarnym mają podstawę 2. Znak dwójkowy (0 lub 1) nazywany jest bitem. Podobnie jak w przypadku innych systemów liczbowych każda cyfra w liczbie binarnej ma wartość zależną od jej pozycji.

Kolejny przykłada pokazuje konwersje ułamka z systemu dwójkowego na dziesiętny. W przypadku ułamków stosuje się ujemne potęgi:

Rys 3.5 konwersja ułamka NKD na DEC – przykład –opracowanie własne

DEC na ZM

Znak- moduł oznaczany ZM to sposób zapisu liczb całkowitych. W kodzie tym wszystkie bity poza najstarszym mają takie samo znacznie jak w naturalnym kodzie binarnym. Wyróżnionym bitem w tym zapisie jest znak moduł, wynosi on 0 dla liczb dodatnich lub 1 dla liczb ujemnych.

(6)

Rys 3.6 konwersja DEC na ZM – przykład –opracowanie własne

DEC na U2

(7)

Jeśli liczba jest dodatnia to wygląda w U2 tak samo jak w systemie dwójkowym a bit znaku ma wartość 0. Jeśli natomiast bit znaku przyjmie wartość 1, to liczba jest ujemna.

Liczbę przeciwną do danej liczby w U2 uzyskuje się najprościej przez dokonanie negacji wszystkich bitów zapisanych w U2 a następnie do wyniku dodanie 1.

Rys 3.8 konwersja liczby ujemnej DEC na U2 – przykład –opracowanie własne

3.2.2 Zakładka HEX -> DEC Zakładka ta dotyczy konwersji:

System dziesiętnego DEC na szesnastkowy HEX System szesnastkowy HEX na dziesiętny DEC

(8)

Rys. 3.9 Zakładka HEX -> DEC – opracowanie własne

DEC na HEX

(9)

HEX na DEC

Rys 3.11 konwersja HEX na DEC – przykład –opracowanie własne

3.2.3 Zakładka Działania NKD

(10)

Dodawanie NKD

Rys 3.13 Dodawanie NKD – przykład –opracowanie własne Odejmowanie NKD

(11)

„C” oznacza przeniesienie w tym przypadku pożyczkę, która może przyjmować wartości 0 lub 1. Jeśli C=1 oznacz to, że wystąpiła pożyczka, jeśli C=0 nie wystąpiła pożyczki. Dzięki pożyczce bez problemu można odejmować większe liczy od mniejszych.

Mnożenie w NKD

Rys 3.15 Mnożenie NKD – przykład –opracowanie własne Mnożenie to polega na:

1. Wyzerowaniu starszej części wyniku i bitu przeniesienia. 2. Za młodszą cześć wyniku przyjęciu mnożnika.

3. Przesunięciu w prawo młodszej części wyniku/mnożnika.

4. Jeśli poprzedni (ostatnio występujący) najmłodszy bit mnożnika jest ustawiony, dodać mnożną do starszej części wyniku, zachować ewentualne przeniesienie po dodawaniu w bicie przeniesienia.

5. Przesunąć w prawo młodszą część wyniku/mnożnik.

6. Przesunąć w prawo starszą cześć wyniku z uwzględnieniem bitu przeniesienia jako najstarszego bitu wyniku, wychodzący bit jest wpisywany na pozycję najstarszego bitu młodszej części wyniku/mnożnika.

(12)

7. Powtarzać czynności od punktu 4 dla wszystkich bitów mnożnika (liczba powtórzeń pętli jest równa liczbie bitów mnożnika)[3].

Dzielenie NKD

Rys 3.16 Dzielenie NKD – przykład –opracowanie własne

3.2.4 Zakładka Działania U2

(13)

Zakładka ta obejmuje mnożenie liczb w systemie U2 metodą: Bootha

Robertsona

Powielonego znaku

Mnożenie według algorytmu Bootha polega na:

1. Wyzerowaniu starszej części wyniku i bitu przeniesienia. 2. Za młodsza część wyniku przyjąć mnożnik.

3. a) Jeśli najmłodsza para jest kombinacja 10 to od iloczynu częściowego odejmuje się mnożną, wynik przesuwa się o jedno miejsce w prawo.

b) Jeśli najmłodsza para jest kombinacja 01 to od iloczynu częściowego dodaje się mnożną, wynik przesuwa się o jedno miejsce w prawo.

c) Jeżeli są to pary 00 lub 11 to nie wykonuje się żadnego działania ,tylko przesuwa się o jedno miejsce w prawo.

Przy przesunięci w prawo bierzemy pod uwagę bit przeniesienia – wychodzący bit jest wpisywany do bitu przeniesienia.

Należy powtórzyć tą czynność dla wszystkich bitów mnożnika.

Algorytm ten ma jedno ograniczenie, mianowicie, zwraca nieprawidłowy wynik mnożenia dla mnożnej 100…000U2 o czym należy bezwzględnie pamiętać.

(14)

Sprawdzenie:

Pierwsza podana liczba to 101U2 czyli -3DEC

Druga 111U2 czyli -1DEC , po wymnożeniu daje to 000011U2 czyli 3 DEC

Mnożenie według algorytmu Robertsona

W algorytmie Robertsona liczby traktowane są jak binarne z tym, że mnożnik pozbawia się najstarszego bitu. W wyniku mnożenia otrzymuje się pseudoiloczyn, od którego należy odjąć poprawkę.

Rys 3.19 Mnożenie metodą Robertsona - przykład - opracowanie własne

1.Jeśli mnożnik jest dodatni a co za tym idzie najstarszy bit jest zerem wtedy poprawka wynosi 0, jednak, gdy mnożnik jest ujemny poprawka jest różna od zera. Ilości bitów poprawki jest tak sama jak pseudoiloczynu i stanowi on zaczynając od lewej mnożną pozostałe bity to zera.

(15)

2. Podkreślone bity to „dopełnienia”, stosuje się je przy dodawaniu przesuniętych względem siebie wyników iloczynów poszczególnych bitów mnożnika przez mnożną. Dopełniamy taką cyfrą, jaka występuje w najstarszym bicie w danym wierszu, jeśli jest to 1 to dopełniamy samymi jedynka, jeśli 0 to samymi zerami.

Mnożenie metodą powielonego znaku

Przed wykonaniem tej operacji arytmetycznej należy dwukrotnie zwiększyć długość słowa każdej z liczb. Jeśli te są różnej długości to przyjmuje się podwójną długość dłuższej liczby. Należy powielić bit znaku na wszystkie dodatkowe pozycje. Tak przygotowane dane mnoży się jak w naturalnym kodzie dwójkowym. Tylko młodsza cześć otrzymanego wyniku mnożenia niesie użyteczne informacje. Bierze się pod uwagę bity w liczbie równej sumie liczby bitów oryginalnej mnożnej i mnożnika. Pozostałe (starsze) bity należy pominąć, gdyż interpretacja wszystkich bitów może prowadzić do błędnego wyniku [3].

Cytaty

Powiązane dokumenty

model odpowiedzi uwzględnia jej zakres merytoryczny, ale nie jest ścisłym wzorem sformułowania (poza odpowiedziami jednowyrazowymi i do zadań zamkniętych), uznaje się każdą

Wykazać, że funkcja charakterystyczna zbioru liczb wymiernych nie jest całkowal- na na [0, 1]..

Czas retencji substancji niezatrzymywanej tm (odcinek OA) jest to czas przejścia przez układ chromatograficzny substancji, która nie oddziałuje z wypełnieniem

Na zaliczeniu można także korzystać z pojedyńczej kartki formatu A4 wypełnionej jednostronnie odręcznym pismem zwykłej wielkości - na tej stronie może znajdować si e dowolna

W wyniku przeprowadzonego postępowania wybrano ofertę nr (nazwa i adres firmy):.. Oferta nr 1 Specjalistyczna Praktyka Lekarska Lucyna

Jest rzeczą naturalną, że rządzący państwem troszczą się o to, aby środki masowego przekazu przyczyniały się do podwyższenia, a nie do umniejszenia życia

[r]

poprawny, nie zostaną przyznane żadne punkty, gdy rozwiązanie nie będzie spełniało warunków w poleceniu i instrukcji dla zdającego (i na odwrót). Po  wniesieniu