Podstawy Informatyki

Podobne dokumenty
Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Zapis liczb binarnych ze znakiem

Podstawy Informatyki

Wstęp do Informatyki

Arytmetyka binarna - wykład 6

Naturalny kod binarny (NKB)

Arytmetyka stałopozycyjna

Kod U2 Opracował: Andrzej Nowak

Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych.

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Pracownia Komputerowa wykład V

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

MNOŻENIE W SYSTEMACH UZUPEŁNIENIOWYCH PEŁNYCH (algorytm uniwersalny)

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Wprowadzenie do informatyki - ć wiczenia

System liczbowy jest zbiorem reguł określających jednolity sposób zapisu i nazewnictwa liczb.

Technologie Informacyjne

Operacje arytmetyczne

Podstawy Informatyki dla Nauczyciela

Arytmetyka liczb binarnych

Pracownia Komputerowa wyk ad V

1. Operacje logiczne A B A OR B

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

B.B. 2. Sumowanie rozpoczynamy od ostatniej kolumny. Sumujemy cyfry w kolumnie zgodnie z podaną tabelką zapisując wynik pod kreską:

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

1259 (10) = 1 * * * * 100 = 1 * * * *1

Adam Korzeniewski p Katedra Systemów Multimedialnych

Informatyka kodowanie liczb. dr hab. inż. Mikołaj Morzy

Cyfrowy zapis informacji

Wstęp do informatyki. Pojęcie liczebności. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Pozycyjny system liczbowy

1.1. Pozycyjne systemy liczbowe

Architektura komputerów

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Stan wysoki (H) i stan niski (L)

Systemy zapisu liczb.

Adam Korzeniewski p Katedra Systemów Multimedialnych

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Pracownia Komputerowa wykład IV

przeniesienie pożyczka

Technika cyfrowa Układy arytmetyczne

SYSTEMY LICZBOWE 275,538 =

Wprowadzenie do informatyki - ć wiczenia

Wstęp do informatyki- wykład 1 Systemy liczbowe

Pracownia Komputerowa wyk ad IV

Kodowanie informacji. Kody liczbowe

LICZBY ZMIENNOPRZECINKOWE

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

Architektura systemów komputerowych. Arytmetyka maszyn cyfrowych

Teoretyczne Podstawy Informatyki

Pracownia Komputerowa wykład VI

Wprowadzenie do informatyki ćwiczenia

LICZBY ZMIENNOPRZECINKOWE

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.

Wykład 2. Informatyka Stosowana. 9 października Informatyka Stosowana Wykład 2 9 października / 42

Wykład 2. Informatyka Stosowana. 10 października Informatyka Stosowana Wykład 2 10 października / 42

Wprowadzenie do informatyki - ć wiczenia

Wstęp do informatyki- wykład 2

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Operacje arytmetyczne w systemie dwójkowym

Podstawy Informatyki Maszyna Turinga

Arytmetyka stało i zmiennoprzecinkowa

Metoda znak-moduł (ZM)

Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika

RODZAJE INFORMACJI. Informacje analogowe. Informacje cyfrowe. U(t) U(t) Umax. Umax. R=(0,Umax) nieskończony zbiór możliwych wartości. Umax.

DZIESIĘTNY SYSTEM LICZBOWY

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Układy kombinacyjne 1

Architektura komputerów

Kodowanie liczb całkowitych w systemach komputerowych

Moduł 2 Zastosowanie systemów liczbowych w informacji cyfrowej

Wykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41

Szybkie układy mnożące

9 10 = U1. Przykład dla liczby dziesiętnej ( 9): negacja 1001= =10110 U1. Podsumowując: w zapisie dziesiętnym

Dodawanie liczb binarnych

Programowanie Niskopoziomowe

Plan wyk ladu. Kodowanie informacji. Systemy addytywne. Definicja i klasyfikacja. Systemy liczbowe. prof. dr hab. inż.

Szybkie układy mnożące

Kod IEEE754. IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci

Metody numeryczne II. Reprezentacja liczb

Pracownia Komputerowa wyk ad VI

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:

Techniki multimedialne

Transkrypt:

Podstawy Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 3 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 1 / 42

Reprezentacja liczb całkowitych reprezentacja znak - moduł, w której wartość najbardziej znaczacego bitu określa znak liczby (jeśli 0, to +; jeśli 1, to ). bit 7 6 5 4 3 2 1 0 waga znak 64 32 16 8 4 2 1 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 2 / 42

Reprezentacja liczb całkowitych reprezentacja znak - moduł, w której wartość najbardziej znaczacego bitu określa znak liczby (jeśli 0, to +; jeśli 1, to ). bit 7 6 5 4 3 2 1 0 waga znak 64 32 16 8 4 2 1 reprezentacja uzupełnienia do dwóch (U2), w której wartość najbardziej znaczacego bitu określa znak liczby (-128). bit 7 6 5 4 3 2 1 0 waga 128 64 32 16 8 4 2 1 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 2 / 42

Reprezentacja liczb całkowitych reprezentacja znak - moduł, w której wartość najbardziej znaczacego bitu określa znak liczby (jeśli 0, to +; jeśli 1, to ). bit 7 6 5 4 3 2 1 0 waga znak 64 32 16 8 4 2 1 reprezentacja uzupełnienia do dwóch (U2), w której wartość najbardziej znaczacego bitu określa znak liczby (-128). bit 7 6 5 4 3 2 1 0 waga 128 64 32 16 8 4 2 1 We obydwu kodach znak przechowuje się w najstarszym bicie słowa maszynowego. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 2 / 42

Reprezentacja znak - moduł Przykłady reprezentacji znak - moduł: Liczba(10) Kod ZM Liczba(10) Kod ZM +0 00000000 0 10000000 1 00000001 1 10000001 2 00000010 2 10000010 3 00000011 3 10000011 4 00000100 4 10000100 5 00000101 5 10000101 6 00000110 6 10000110 7 00000111 7 10000111 8 00001000 8 10001000 9 00001001 9 10001001 10 00001010 10 10001010 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 3 / 42

Reprezentacja znak - moduł Reprezentacja ZNAK-MODUŁ - uwagi: Występuja dwie reprezentacje liczby 0 Zakres liczb L w formacie ZM: 2 n 1 + 1 L 2 n 1 1 Zakres liczb 8-bitowych w kodzie ZM: 127,..., +127. 11111111 (ZM) = 2 7 + 1 = 127 (minimalna) 01111111 (ZM) = 2 7 1 = 127 (maksymalna) Zakres liczb 16-bitowych: 32767,..., +32767 11111111 11111111 (ZM) = 2 15 + 1 = 32767 (minimalna) 01111111 11111111 (ZM) = 2 15 1 = 32767 (maksymalna) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 4 / 42

Reprezentacja znak - moduł Przedstawienie liczby dziesiętnej w kodzie ZM znak liczby zakodować w najstarszym bicie słowa maszynowego moduł liczby przedstawić w kodzie BINARNYM rozszerzyć liczbę zerami z lewej strony do formatu słowa maszynowego, i.e., zadanej długości: 1B, 2B, 4B, itd. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 5 / 42

Reprezentacja znak - moduł Przedstawienie liczby dziesiętnej w kodzie ZM znak liczby zakodować w najstarszym bicie słowa maszynowego moduł liczby przedstawić w kodzie BINARNYM rozszerzyć liczbę zerami z lewej strony do formatu słowa maszynowego, i.e., zadanej długości: 1B, 2B, 4B, itd. Przykład: 117 (10) =? ZM 117 = 117 = 1110101 (2) 11110101(ZM) (w formacie 8-bitowym) 10000000 01110101(ZM) (w formacie 16-bitowym) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 5 / 42

Reprezentacja uzupełnienia do dwóch bit 7 6 5 4 3 2 1 0 waga 128 64 32 16 8 4 2 1 Najstarszy bit jest bitem znaku: 0 - liczba dodatnia, 1 - liczba ujemna. Obliczenie liczby dokonuje się poprzez zsumowanie poszczególnych wag liczby. W kodzie U2 liczby dodatnie zapisywane sa tak samo jak w zwykłym kodzie binarnym, ale najbardziej znaczacy bit traktowany jest jako bit znaku. Liczby ujemne otrzymywane sa poprzez bitowa negację danej liczby oraz dodania do zanegowanej liczby jedynki. Nie ma podwójnej reprezentacji zera, ale przedział jest niesymetryczny. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 6 / 42

Reprezentacja uzupełnienia do dwóch bit 7 6 5 4 3 2 1 0 waga 128 64 32 16 8 4 2 1 Zakres liczb w formacie U2: 2 n 1 L 2 n 1 1 Nie istnieje liczba przeciwna do najmniejszej 2 n 1. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 7 / 42

Reprezentacja uzupełnienia do dwóch bit 7 6 5 4 3 2 1 0 waga 128 64 32 16 8 4 2 1 Zakres liczb w formacie U2: 2 n 1 L 2 n 1 1 Nie istnieje liczba przeciwna do najmniejszej 2 n 1. Zakres liczb 8-bitowych: < 128; 127 >: 10000000 (U2) = 2 7 = 128 (minimalna) 01111111 (U2) = 2 7 1 = 127 (maksymalna) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 7 / 42

Reprezentacja uzupełnienia do dwóch bit 7 6 5 4 3 2 1 0 waga 128 64 32 16 8 4 2 1 Zakres liczb w formacie U2: 2 n 1 L 2 n 1 1 Nie istnieje liczba przeciwna do najmniejszej 2 n 1. Zakres liczb 8-bitowych: < 128; 127 >: 10000000 (U2) = 2 7 = 128 (minimalna) 01111111 (U2) = 2 7 1 = 127 (maksymalna) Zakres liczb 16-bitowych: < 32768; 32767 >: 1000000000000000 (U2) = 2 15 = 32768 (minimalna) 0111111111111111 (U2) = 2 15 1 = 32767 (maksymalna) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 7 / 42

Reprezentacja uzupełnienia do dwóch - przykłady bit 7 6 5 4 3 2 1 0 waga 128 64 32 16 8 4 2 1 Liczba(10) Kod U2 Liczba(10) Kod U2 0 00000000 1 00000001 1 11111111 2 00000010 2 11111110 3 00000011 3 11111101 4 00000100 4 11111100 5 00000101 5 11111011 6 00000110 6 11111010 7 00000111 7 11111001 8 00001000 8 11111000 9 00001001 9 11110111 10 00001010 10 11110110 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 8 / 42

Zmiana długości słowa Jeśli chcemy liczbę n-bitowa reprezentować na m-bitach, gdzie m > n, to: w reprezentacji znak - moduł: należy przesunać bit znaku do najdalszej lewej pozycji oraz wypełnić pozostałe wolne pozycje zerami. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 9 / 42

Zmiana długości słowa Jeśli chcemy liczbę n-bitowa reprezentować na m-bitach, gdzie m > n, to: w reprezentacji znak - moduł: należy przesunać bit znaku do najdalszej lewej pozycji oraz wypełnić pozostałe wolne pozycje zerami. w reprezentacji uzupełnień do dwóch należy przesunać bit znaku do najdalszej lewej pozycji, a powstałe puste pozycje wypełnić kopiami bitu znaku. (Dla liczb dodatnich zerami, a dla ujemnych jedynkami.) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 9 / 42

Zmiana długości słowa - przykłady znak - moduł: liczba reprezentacja znak modu liczba bitw 54 00110110 8 54 00000000 00110110 16 54 10110110 8 54 10000000 00110110 16 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 10 / 42

Zmiana długości słowa - przykłady znak - moduł: liczba reprezentacja znak modu liczba bitw 54 00110110 8 54 00000000 00110110 16 54 10110110 8 54 10000000 00110110 16 uzupełnienie do dwóch: liczba reprezentacja U2 liczba bitw 18 11101110 8 18 11111111 11101110 16 128 10000000 8 128 11111111 10000000 16 16 00010000 8 16 00000000 00010000 16 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 10 / 42

Od 8-bitowego kodu ZM do 8-bitowego kodu U2 W przypadku liczb całkowitych dodatnich kod ZM jest również kodem U2 tej liczby, np. 97 (10) = 01100001 (ZM) = 01100001 (U2) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 11 / 42

Od 8-bitowego kodu ZM do 8-bitowego kodu U2 W przypadku liczb całkowitych dodatnich kod ZM jest również kodem U2 tej liczby, np. 97 (10) = 01100001 (ZM) = 01100001 (U2) W przypadku liczb całkowitych ujemnych, aby otrzymać kod U2 należy: Bit znaku zamienić na zero. Wykonać negację bitowa otrzymanego kodu. Dodać jedynkę. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 11 / 42

Od 8-bitowego kodu ZM do 8-bitowego kodu U2 W przypadku liczb całkowitych dodatnich kod ZM jest również kodem U2 tej liczby, np. 97 (10) = 01100001 (ZM) = 01100001 (U2) W przypadku liczb całkowitych ujemnych, aby otrzymać kod U2 należy: Bit znaku zamienić na zero. Wykonać negację bitowa otrzymanego kodu. Dodać jedynkę. Przykład: 97 (10) = 11100001 (ZM) Bit znaku zamieniamy na 0: 01100001 Wykonujemy negację: 10011110 Dodajemy 1: 10011111 97 (10) = 11100001 (ZM) = 10011111 (U2) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 11 / 42

Arytmetyka liczb całkowitych w systemie U2 Negowanie: należy zanegować wszystkie bity liczby negowanej (negacja bitowa) i do otrzymanego wyniku dodać 1. Przykład: 1 0 1 1 0 1 0 0 = 76 (10) 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 + 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 = 76 (10) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 12 / 42

Dodawanie liczb w systemie U2 Dodawanie liczb w systemie U2 odbywa się standardowa metoda (bit po bicie). W operacji dodawania bierze udział bit znaku. Przeniesienie ze starszego bitu znakowego jest IGNOROWANE. Dodawanie liczb w systemie U2 daje poprawny wynik wtedy, gdy mieści się on w zakresie liczb dla danego formatu. Jeśli znaki obu składników sa jednakowe, a znak sumy jest przeciwny, to suma wykracza poza zakres reprezentowalności dla danego formatu, czyli powstaje przepełnienie (overflow). Przepełnienie jest sygnalizowane ustawieniem specjalnego znacznika w rejestrze znaczników procesora (OF=1); OF = Overflow Flag = przepełnienie. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 13 / 42

Dodawanie liczb w systemie U2 Wskaźnik przepełnienia: c z c l = 1 c z - przeniesienie z pozycji znakowej c l - przeniesienie do pozycji znakowej Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 14 / 42

Dodawanie liczb w systemie U2 - przykłady c z = 0, c l = 1 1 0 1 0 0 0 0 0 0 = 64 (10) + 0 1 0 0 0 0 0 0 = 64 (10) + 1 0 0 0 0 0 0 0 przepelnienie c z c l = 1 = Przepełnienie Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 15 / 42

Dodawanie liczb w systemie U2 - przykłady 1 1 1 1 1 1 0 0 1 0 1 1 = 53 (10) + 0 1 0 0 0 0 0 1 = 65 (10) 1 0 0 0 0 1 1 0 0 = 12 (10) c z = 1, c l = 1 c z c l = 0 = Brak przepełnienia, przeniesiony bit z pozycji znakowej jest ignorowany. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 16 / 42

Dodawanie liczb w systemie U2 - przykłady 1 1 1 1 1 0 0 1 0 1 1 = 53 (10) + 1 0 0 0 0 0 0 1 = 127 (10) 1 0 1 0 0 1 1 0 0 przepelnienie c z = 1, c l = 0 c z c l = 1 = Przepełnienie Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 17 / 42

Dodawanie liczb w systemie U2 - przykłady 1 1 1 1 0 0 1 1 1 1 0 0 = 60 (10) + 1 0 1 1 0 1 1 0 = 74 (10) 1 1 1 1 0 0 1 0 = 14 (10) c z = 0, c l = 0 c z c l = 0 = Brak przepełnienia. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 18 / 42

Odejmowanie liczb w systemie U2 Odejmowanie to dodawanie liczby przeciwnej. Przykład: 2-7 = 2+(-7)=-5 2 (10) = 00000010 7 (10) = 00000111 7 (10) = 11111000 + 00000001 = 11111001 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 19 / 42

Odejmowanie liczb w systemie U2 Odejmowanie to dodawanie liczby przeciwnej. Przykład: 2-7 = 2+(-7)=-5 2 (10) = 00000010 7 (10) = 00000111 7 (10) = 11111000 + 00000001 = 11111001 0 0 0 0 0 0 1 0 = 2 (10) + 1 1 1 1 1 0 0 1 = 7 (10) + 1 1 1 1 1 0 1 1 = 5 (10) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 19 / 42

Mnożenie liczb całkowitych w systemie U2 - przykłady 10 (10) 2 = 11110110 2 1 = 11101100 = 20 (10) 10 (10) 2 1 = 11110110 2 1 = 11111011 = 5 (10) 10 (10) 2 2 = 11110110 2 1 = 11011000 = 40 (10) 10 (10) 2 2 = 11110110 2 2 = 11111101.10 = 2.5 (10) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 20 / 42

Mnożenie liczb całkowitych w systemie ZM - przykłady 10 (10) 2 = 1 01010 2 1 = 1 010100 = 20 (10) 10 (10) 2 1 = 1 01010 2 1 = 1 00101.0 = 5 (10) 10 (10) 2 2 = 1 01010 2 1 = 1 0101000 = 40 (10) 10 (10) 2 2 = 1 01010 2 2 = 1 00010.10 = 2.5 (10) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 21 / 42

Metody mnożenia liczb w systemie binarnym 1. Metoda mnożenia bezpośredniego. Jest stosowana do liczb zapisanych w kodzie ZM (znak moduł). Mnożenie w tej metodzie przebiega tak, jak mnożenie pisemne liczb dziesiętnych. Zatem jest ono zastapione wielokrotnym dodawaniem odpowiednio przesuniętej mnożnej. 2. Metoda Robertsona. 3. Algorytm powielonego znaku 4. Dwa warianty metody Bootha - dotyczy mnożenia ułamków w reprezentacji U2. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 22 / 42

Metoda mnożenia bezpośredniego - przykład 1 0 1 0 0 0 1 = 17 (10) 0 0 0 1 0 1 = 5 (10) 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 1 0 1 0 1 = 85 (10) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 23 / 42

Metoda mnożenia bezpośredniego - przykład 2 0 1 1 0 1 = 13 (10) 0 0 0 1 1 = 3 (10) 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 = 39 (10) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 24 / 42

Metoda Robertsona Stosowana jest dla liczb w systemie U2 Dla obu czynników dodatnich wykonujemy METODE MNOŻENIA BEZPOŚREDNIEGO. Dla obu czynników ujemnych wykonujemy następujac a prcedurę:. Bit znaku mnożnika ustawiamy na 0 Wykonujemy możenie METODA MNOŻENIA BEZPOŚREDNIEGO Otrzymany iloczyn korygujemy, odejmujac poprawkę. Dla mnożnej dotatniej i ujemnego mnożnika wykonujemy procedure jak dla obu czynników ujemnych; Dla sytuacji odwrotnej zamieniamy argumenty! Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 25 / 42

Metoda Robertsona - przykład 1 ( 5) (10) ( 3) (10) =? ( 5) (10) = 1011 (U2) ( 3) (10) = 1101 (U2) 0101 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 + 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 1 1 1 PSEUDOILOCZYN Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 26 / 42

Metoda Robertsona - przykład 1 Poprawka korekcyjna dla przypadku ujemnego mnożnika, wynosi tyle, co dopełnienie dwójkowe mnożnej przesuniętej w lewo o n 1 bitów A = 1011 A = A 2 3 = 1011000 A = 0100111 + 1 = 0101000 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 27 / 42

Metoda Robertsona - przykład 1 Poprawka korekcyjna dla przypadku ujemnego mnożnika, wynosi tyle, co dopełnienie dwójkowe mnożnej przesuniętej w lewo o n 1 bitów A = 1011 A = A 2 3 = 1011000 A = 0100111 + 1 = 0101000 1 1 0 0 1 1 1 PSEUDOILOCZYN + 0 1 0 1 0 0 0 POPRAWKA 0 0 0 1 1 1 1 = 15 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 27 / 42

Metoda Robertsona - przykład 2 (3) (10) ( 13) (10) =? (3) (10) = 00011 (U2) ( 13) (10) = 10011 (U2) 00011 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 PSEUDOILOCZYN Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 28 / 42

Metoda Robertsona - przykład 2 Poprawka korekcyjna dla przypadku ujemnego mnożnika, wynosi tyle, co dopełnienie dwójkowe mnożnej przesuniętej w lewo o n 1 bitów A = 00011 A = A 2 4 = 00110000 A = 11001111 + 1 = 11010000 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 29 / 42

Metoda Robertsona - przykład 2 Poprawka korekcyjna dla przypadku ujemnego mnożnika, wynosi tyle, co dopełnienie dwójkowe mnożnej przesuniętej w lewo o n 1 bitów A = 00011 A = A 2 4 = 00110000 A = 11001111 + 1 = 11010000 0 0 0 0 1 0 0 1 PSEUDOILOCZYN + 1 1 0 1 0 0 0 0 POPRAWKA 1 1 0 1 1 0 0 1 = 39 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 29 / 42

Algorytm powielonego znaku Dwukrotnie zwiększyć każda z liczb, powielajac bit znaku na wszystkie dodatkowe pozycje Po wykonaniu rozszerzenia znakowego liczby sa mnożone jak w kodzie BINARNYM Wynik powinien być liczba o długości równej sumie długości mnożonych liczb - bity wykraczajace poza tę długość sa ignorowane. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 30 / 42

Algorytm powielonego znaku - przykład 1 1 1 1 1 0 1 1 5 0 0 0 0 0 1 1 1 7 1 1 1 1 1 0 1 1 + 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 1 1 0 1 35 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 31 / 42

Mnożenie I metoda BOOTH A wariant I Porównywanie par bitów mnożnika (w U2). Badamy poczawszy od ostatniej pary bitów (cyfr) mnożnika. 1. Jeżeli badana para jest kombinacja 1 0, to od iloczynu częściowego odejmujemy mnożna A i przesuwamy wynik o jedno miejsce w prawo. 2. Jeżeli badana para jest odpowiednio para 0 1, to dodajemy mnożna do iloczynu częściowego i przesuwamy cały wynik o jedno miejsce w prawo. 3. Jeżeli badana para jest para o jednakowych cyfrach 0 0 lub 1 1, to wykonujemy tylko przesunięcie w prawo. 4. Jeżeli w skład pary wchodzi bit znakowy (znak), to nie wykonujemy przesunięcia. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 32 / 42

Mnożenie I metoda BOOTH A - przykład 1 Rozważmy dwie liczby: A = 7 32 = 0.00111 (ZM) = 0.00111 (U2) Aby obliczyć B = 1 32 = 1.00001 (ZM) = 1.11111 (U2) A B do liczby B na najmniej znaczacej pozycji dopisujemy 0, stad:. B = 1.111110 (U2) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 33 / 42

Mnożenie I metoda BOOTH A - przykład 1 Badamy kolejne bity mnożnika (czyli kolejne bity liczby B): Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 34 / 42

Mnożenie I metoda BOOTH A - przykład 1 Badamy kolejne bity mnożnika (czyli kolejne bity liczby B): 1. para 1-0 (1.111110 (U2) ) - od iloczynu częściowego odejmujemy mnożna (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 34 / 42

Mnożenie I metoda BOOTH A - przykład 1 Badamy kolejne bity mnożnika (czyli kolejne bity liczby B): 1. para 1-0 (1.111110 (U2) ) - od iloczynu częściowego odejmujemy mnożna (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, 2. para 1-1 (1.111110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 34 / 42

Mnożenie I metoda BOOTH A - przykład 1 Badamy kolejne bity mnożnika (czyli kolejne bity liczby B): 1. para 1-0 (1.111110 (U2) ) - od iloczynu częściowego odejmujemy mnożna (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, 2. para 1-1 (1.111110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 3. para 1-1 (1.111110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 34 / 42

Mnożenie I metoda BOOTH A - przykład 1 Badamy kolejne bity mnożnika (czyli kolejne bity liczby B): 1. para 1-0 (1.111110 (U2) ) - od iloczynu częściowego odejmujemy mnożna (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, 2. para 1-1 (1.111110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 3. para 1-1 (1.111110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 4. para 1-1 (1.111110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 34 / 42

Mnożenie I metoda BOOTH A - przykład 1 Badamy kolejne bity mnożnika (czyli kolejne bity liczby B): 1. para 1-0 (1.111110 (U2) ) - od iloczynu częściowego odejmujemy mnożna (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, 2. para 1-1 (1.111110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 3. para 1-1 (1.111110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 4. para 1-1 (1.111110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 5. para 1-1 (1.111110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 34 / 42

Mnożenie I metoda BOOTH A - przykład 1 Badamy kolejne bity mnożnika (czyli kolejne bity liczby B): 1. para 1-0 (1.111110 (U2) ) - od iloczynu częściowego odejmujemy mnożna (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, 2. para 1-1 (1.111110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 3. para 1-1 (1.111110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 4. para 1-1 (1.111110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 5. para 1-1 (1.111110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 6. para 1-1 (1.111110 (U2) ) - nic nie robimy, bo w skład pary wchodzi bit znaku. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 34 / 42

Mnożenie I metoda BOOTH A - przykład 1 1. 0. 0 0 0 0 0 0. 0 0 1 1 1 1. 1 1 0 0 1 1. 1 1 1 0 0 1 2. 1. 1 1 1 1 0 0 1 3. 1. 1 1 1 1 1 0 0 1 4. 1. 1 1 1 1 1 1 0 0 1 5. 1. 1 1 1 1 1 1 1 0 0 1 6. 1. 1 1 1 1 1 1 1 0 0 1 0.00111 (U2) 1.11111 (U2) = 1.1111111001 (U2) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 35 / 42

Mnożenie I metoda BOOTH A - przykład 2 Rozważmy dwie liczby: A = 7 32 = 1.00111 (ZM) = 1.11001 (U2) Aby obliczyć B = 3 32 = 0.00011 (ZM) = 0.00011 (U2) A B do liczby B na najmniej znaczacej pozycji dopisujemy 0, stad:. B = 0.000110 (U2) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 36 / 42

Mnożenie I metoda BOOTH A - przykład 2 Badamy kolejne bity mnożnika (czyli kolejne bity liczby B): Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 37 / 42

Mnożenie I metoda BOOTH A - przykład 2 Badamy kolejne bity mnożnika (czyli kolejne bity liczby B): 1. para 1-0 (0.000110 (U2) ) - od iloczynu częściowego odejmujemy mnożna (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 37 / 42

Mnożenie I metoda BOOTH A - przykład 2 Badamy kolejne bity mnożnika (czyli kolejne bity liczby B): 1. para 1-0 (0.000110 (U2) ) - od iloczynu częściowego odejmujemy mnożna (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, 2. para 1-1 (0.000110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 37 / 42

Mnożenie I metoda BOOTH A - przykład 2 Badamy kolejne bity mnożnika (czyli kolejne bity liczby B): 1. para 1-0 (0.000110 (U2) ) - od iloczynu częściowego odejmujemy mnożna (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, 2. para 1-1 (0.000110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 3. para 0-1 (0.000110 (U2) ) - dodajemy mnożna do iloczynu częściowego i przesuwamy cały wynik o jedno miejsce w prawo, Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 37 / 42

Mnożenie I metoda BOOTH A - przykład 2 Badamy kolejne bity mnożnika (czyli kolejne bity liczby B): 1. para 1-0 (0.000110 (U2) ) - od iloczynu częściowego odejmujemy mnożna (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, 2. para 1-1 (0.000110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 3. para 0-1 (0.000110 (U2) ) - dodajemy mnożna do iloczynu częściowego i przesuwamy cały wynik o jedno miejsce w prawo, 4. para 0-0 (0.000110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 37 / 42

Mnożenie I metoda BOOTH A - przykład 2 Badamy kolejne bity mnożnika (czyli kolejne bity liczby B): 1. para 1-0 (0.000110 (U2) ) - od iloczynu częściowego odejmujemy mnożna (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, 2. para 1-1 (0.000110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 3. para 0-1 (0.000110 (U2) ) - dodajemy mnożna do iloczynu częściowego i przesuwamy cały wynik o jedno miejsce w prawo, 4. para 0-0 (0.000110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 5. para 0-0 (0.000110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 37 / 42

Mnożenie I metoda BOOTH A - przykład 2 Badamy kolejne bity mnożnika (czyli kolejne bity liczby B): 1. para 1-0 (0.000110 (U2) ) - od iloczynu częściowego odejmujemy mnożna (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, 2. para 1-1 (0.000110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 3. para 0-1 (0.000110 (U2) ) - dodajemy mnożna do iloczynu częściowego i przesuwamy cały wynik o jedno miejsce w prawo, 4. para 0-0 (0.000110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 5. para 0-0 (0.000110 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 6. para 0-0 (0.000110 (U2) ) - nic nie robimy, bo w skład pary wchodzi bit znaku. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 37 / 42

Mnożenie I metoda BOOTH A - przykład 2 1. 0. 0 0 0 0 0 1. 1 1 0 0 1 0. 0 0 1 1 1 0. 0 0 0 1 1 1 2. 0. 0 0 0 0 1 1 1 3. + 1. 1 1 0 0 1 1. 1 1 0 1 0 1 1 1. 1 1 1 0 1 0 1 1 4. 1. 1 1 1 1 0 1 0 1 1 5. 1. 1 1 1 1 1 0 1 0 1 1 6. 1. 1 1 1 1 1 0 1 0 1 1 1.11001 (U2) 0.00011 (U2) = 1.1111101011 (U2) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 38 / 42

Mnożenie metoda BOOTH A - II wariant 1. Przesuwamy mnożna o jedno miejsce w prawo (uzyskujemy A 2 - A - pół ). 2. Badamy ostatni bit mnożnika, jeżeli jest on równy 1, to dodajemy mnożna do iloczynu częściowego, który jest równy zeru na poczatku mnożenia, jeżeli ostatni bit mnożnika jest równy 0, to nie wykonujemy żadnego działania. 3. Przesuwamy iloczyn częściowy o jedno miejsce w prawo. 4. Przechodzimy do badania kolejnego bitu mnożnika. Jeżeli badany bit jest bitem znaku, to wtedy gdy jego wartość wynosi 1, to odejmujemy mnożna od iloczynu częściowego, zaś gdy jest on równy 0 nie wykonujemy żadnego działania. 5. Uzyskany iloczyn częściowy przesuwamy o jedno miejsce w lewo (powrót do A), wynik jest w postaci U2. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 39 / 42

Mnożenie II metoda BOOTH A - przykład Rozważmy dwie liczby: A = 27 32 = 0.11011 (ZM) = 0.11011 (U2) Aby obliczyć B = 21 32 = 1.10101 (ZM) = 1.01011 (U2) A B przesuwamy mnożna o jedno miejsce w prawo - uzyskanie wartości A - pół :. A = 0.011011 (U2) Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 40 / 42

Mnożenie II metoda BOOTH A - przykład 1. bit 1 (1.01011 (U2) ) - do iloczynu częściowego dodajemy mnożna A-pół (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 41 / 42

Mnożenie II metoda BOOTH A - przykład 1. bit 1 (1.01011 (U2) ) - do iloczynu częściowego dodajemy mnożna A-pół (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, 2. bit 1 (1.01011 (U2) ) - do iloczynu częściowego dodajemy mnożna A-pół, następnie przesuwamy wynik o jedno miejsce w prawo, Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 41 / 42

Mnożenie II metoda BOOTH A - przykład 1. bit 1 (1.01011 (U2) ) - do iloczynu częściowego dodajemy mnożna A-pół (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, 2. bit 1 (1.01011 (U2) ) - do iloczynu częściowego dodajemy mnożna A-pół, następnie przesuwamy wynik o jedno miejsce w prawo, 3. bit 0 (1.01011 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 41 / 42

Mnożenie II metoda BOOTH A - przykład 1. bit 1 (1.01011 (U2) ) - do iloczynu częściowego dodajemy mnożna A-pół (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, 2. bit 1 (1.01011 (U2) ) - do iloczynu częściowego dodajemy mnożna A-pół, następnie przesuwamy wynik o jedno miejsce w prawo, 3. bit 0 (1.01011 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 4. bit 1 (1.01011 (U2) ) - do iloczynu częściowego dodajemy mnożna A-pół, następnie przesuwamy wynik o jedno miejsce w prawo, Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 41 / 42

Mnożenie II metoda BOOTH A - przykład 1. bit 1 (1.01011 (U2) ) - do iloczynu częściowego dodajemy mnożna A-pół (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, 2. bit 1 (1.01011 (U2) ) - do iloczynu częściowego dodajemy mnożna A-pół, następnie przesuwamy wynik o jedno miejsce w prawo, 3. bit 0 (1.01011 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 4. bit 1 (1.01011 (U2) ) - do iloczynu częściowego dodajemy mnożna A-pół, następnie przesuwamy wynik o jedno miejsce w prawo, 5. bit 0 (1.01011 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 41 / 42

Mnożenie II metoda BOOTH A - przykład 1. bit 1 (1.01011 (U2) ) - do iloczynu częściowego dodajemy mnożna A-pół (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, 2. bit 1 (1.01011 (U2) ) - do iloczynu częściowego dodajemy mnożna A-pół, następnie przesuwamy wynik o jedno miejsce w prawo, 3. bit 0 (1.01011 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 4. bit 1 (1.01011 (U2) ) - do iloczynu częściowego dodajemy mnożna A-pół, następnie przesuwamy wynik o jedno miejsce w prawo, 5. bit 0 (1.01011 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 6. bit znaku 1 (1.01011 (U2) ) - robimy tzw. poprawkę - odejmujemy mnożna od iloczynu częściowego, Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 41 / 42

Mnożenie II metoda BOOTH A - przykład 1. bit 1 (1.01011 (U2) ) - do iloczynu częściowego dodajemy mnożna A-pół (iloczyn częściowy wynosi na poczatku 0), następnie przesuwamy wynik o jedno miejsce w prawo, 2. bit 1 (1.01011 (U2) ) - do iloczynu częściowego dodajemy mnożna A-pół, następnie przesuwamy wynik o jedno miejsce w prawo, 3. bit 0 (1.01011 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 4. bit 1 (1.01011 (U2) ) - do iloczynu częściowego dodajemy mnożna A-pół, następnie przesuwamy wynik o jedno miejsce w prawo, 5. bit 0 (1.01011 (U2) ) - przesuwamy iloczyn częściowy o jedno miejsce w prawo, 6. bit znaku 1 (1.01011 (U2) ) - robimy tzw. poprawkę - odejmujemy mnożna od iloczynu częściowego, 7. otrzymany wynik przesuwamy o jedno miejsce w lewo. Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 41 / 42

Mnożenie II metoda BOOTH A - przykład 1. 0. 0 0 0 0 0 0 + 0. 0 1 1 0 1 1 0. 0 1 1 0 1 1 0. 0 0 1 1 0 1 1 2. + 0. 0 1 1 0 1 1 0. 1 0 1 0 0 0 1 0. 0 1 0 1 0 0 0 1 3. 0. 0 0 1 0 1 0 0 0 1 4. + 0. 0 1 1 0 1 1 0. 1 0 0 1 0 1 0 0 1 0. 0 1 0 0 1 0 1 0 0 1 5. 0. 0 0 1 0 0 1 0 1 0 0 1 6. 0. 0 1 1 0 1 1 1. 1 0 1 1 1 0 0 1 0 0 1 7. 1. 0 1 1 1 0 0 1 0 0 1 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 42 / 42