3.3.1. Metoda znak-moduł (ZM)



Podobne dokumenty
Systemy zapisu liczb.

Systemem liczenia systemach addytywnych !!" Pozycyjny system liczbowy podstawą systemu pozycyjnego

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

Systemem liczenia systemach addytywnych !!" Pozycyjny system liczbowy podstawą systemu pozycyjnego

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M

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

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

Moduł 2 Zastosowanie systemów liczbowych w informacji cyfrowej

Stan wysoki (H) i stan niski (L)

Systemy liczbowe używane w technice komputerowej

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

1.1. Pozycyjne systemy liczbowe

Podstawy Informatyki

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

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

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.

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

Pracownia Komputerowa wykład VI

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

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Pracownia Komputerowa wykład V

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

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

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Kod U2 Opracował: Andrzej Nowak

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Teoretyczne Podstawy Informatyki

Naturalny kod binarny (NKB)

Zapis liczb binarnych ze znakiem

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

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

SYSTEMY LICZBOWE 275,538 =

Arytmetyka binarna - wykład 6

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

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

Technologie Informacyjne

Pracownia Komputerowa wyk ad VI

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

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

Podstawy Informatyki dla Nauczyciela

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

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

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

Architektura komputerów

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

Urządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):

System Liczbowe. Szesnastkowy ( heksadecymalny)

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

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

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

Systemy liczbowe. 1. System liczbowy dziesiętny

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

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

Wprowadzenie do informatyki - ć wiczenia

Systemy liczbowe. Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

Pracownia Komputerowa wyk ad V

Pozycyjny system liczbowy

Technologie Informacyjne Wykład 4

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

architektura komputerów w. 2

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

Wykład I: Kodowanie liczb w systemach binarnych. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

Arytmetyka liczb binarnych

Znaki w tym systemie odpowiadają następującym liczbom: I=1, V=5, X=10, L=50, C=100, D=500, M=1000

Wprowadzenie do informatyki - ć wiczenia

Kodowanie informacji. Kody liczbowe

Architektura komputerów

Techniki multimedialne

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

LICZBY ZMIENNOPRZECINKOWE

Wstęp do informatyki- wykład 2

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łan Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Arytmetyka komputera

Wprowadzenie do informatyki - ć wiczenia

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

Podstawy Informatyki. Wykład 2. Reprezentacja liczb w komputerze

L6.1 Systemy liczenia stosowane w informatyce

Technika Cyfrowa i Mikroprocesorowa

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

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

W jaki sposób użyć tych n bitów do reprezentacji liczb całkowitych

Ćwiczenie nr 1: Systemy liczbowe

ARCHITEKTURA KOMPUTERÓW Systemy liczbowe

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

Prefiksy binarne. kibibit (Kibit) mebibit (Mibit) gibibit (Gibit) tebibit (Tibit) pebibit (Pibit) exbibit (Eibit) zebibit (Zibit) yobibit (Yibit)

Metody numeryczne. Postać zmiennoprzecinkowa liczby. dr Artur Woike. Arytmetyka zmiennoprzecinkowa. Uwarunkowanie zadania.

2.3. Wyznaczanie wartości wielomianu, pozycyjne systemy liczbowe i reprezentacja danych liczbowych w komputerze

Wprowadzenie do informatyki - ć wiczenia

Arytmetyka stało- i zmiennoprzecinkowa. 1. Informacje wstępne

ARYTMETYKA KOMPUTERA

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

Podstawy Informatyki

Arytmetyka stało i zmiennoprzecinkowa

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Transkrypt:

3.3. Zapis liczb binarnych ze znakiem 1 0-1 0 1 : 1 0 0 1 1 0 1 1 0 1 0 0 0 0 1 0 0 0 1 reszta 0 0 0 0 0 0 0 1 3.3. Zapis liczb binarnych ze znakiem W systemie dziesiętnym liczby ujemne opatrzone są specjalnym znakiem graficznym, tzw. minusem, na przykład 6, 22 itd., a liczby dodatnie w niektórych przypadkach plusem +, na przykład +5, +20. W systemie binarnym opartym wyłącznie na zerach i jedynkach brakuje dodatkowego znaku, który wskazywałby na ujemny lub dodatni charakter określonej liczby. Opracowano kilka metod zapisu liczb binarnych ze znakiem, które charakteryzują się różnym stopniem przydatności, między innymi: qq qq qq metodę znak-moduł (ZM), metodę uzupełnień do 1 (U1), metodę uzupełnień do 2 (U2). 3.3.1. Metoda znak-moduł (ZM) W metodzie znak-moduł zastosowano prosty zabieg kodowania znaku za pomocą najstarszej cyfry w liczbie binarnej. Najstarszą cyfrę określa się jako znak, pozostałe cyfry są modułem reprezentującym daną liczbę binarną: znak moduł a n 1 a n 2 a 1 a 0 51

Rozdział 3 t Arytmetyka liczb binarnych W celu obliczenia wartości naturalnej liczby binarnej ze znakiem należy posłużyć się następującym wzorem: Stosując powyższy (zmodyfikowany) zapis wielomianowy, możemy zauważyć, że znak otrzymanej po obliczeniu liczby zależny jest od wyrażenia: 1 2*najstarsza cyfra liczby. Jeżeli najstarsza cyfra jest jedynką, to wynikiem wyrażenia będzie 1 ; jeżeli zerem, to otrzymamy 1. Obliczony moduł należy przemnożyć przez wyrażenie znakowe, dzięki czemu otrzyma się dodatnią lub ujemną liczbę dziesiętną będącą odpowiednikiem danej liczby binarnej. Aby uzyskać liczbę binarną ze znakiem na podstawie liczby dziesiętnej, należy obliczyć moduł metodą dzielenia przez podstawę (2), a następnie dołączyć 0, jeżeli chce się mieć liczbę dodatnią, lub 1 dla liczby ujemnej. Przykłady: 0111 (Z-M) = 0 1 2 = (1 2*0)*(1*2 2 +1*2 1 +1*2 0 ) = 1*(4+2+1) = 7 D 1111 (Z-M) = 2 = (1 2*1)*(1*2 2 +1*2 1 +1*2 0 ) = 1*(4+2+1) = 7 D Jedną z wad metody ZM jest brak możliwości prostego wykonywania operacji arytmetycznych, co znacznie ogranicza jej powszechne stosowanie: ZM 6 D + 0 1 ZM + 6 D 0 20 D Kolejną niedogodnością związaną z systemem znak-moduł jest to, że zero może zostać zapisane na dwa sposoby: ze znakami plus i minus. Stanowi to przykład nieefektywności tej metody, w której tracony jest jeden wyraz kodowy. 3.3.2. Metoda uzupełnień do 2 (U2) Niedoskonałości systemu ZM spowodowały, że konieczne było opracowanie bardziej naturalnej metody zapisu liczb binarnych ze znakiem. Powstała metoda uzupełnień do 2 (U2), gdzie cyfra określająca znak jest zintegrowana z liczba binarną, co pozwala na wykonywanie obliczeń arytmetycznych. W celu obliczenia wartości liczby binarnej z wykorzystaniem metody U2 należy zastosować poniższy wzór: 52

3.3. Zapis liczb binarnych ze znakiem W metodzie U2 wyrażenie znaku jest tak skonstruowane, że uczestniczy w wartości liczby jak pozostałe pozycje. Wartość podstawy w wadze najstarszej liczby określającej znak jest ujemna. Przykłady: 0111 B = 0 3 1 2 = 0*( 2 3 )+1*(2 2 )+1*(2 1 )+1*(2 0 ) = 4+2+1 = 7 B 1111 B = 1 3 1 2 = 1*( 2 3 )+1*(2 2 )+1*(2 1 )+1*(2 0 ) = 8+4+2+1 = 1 B Jak widać w przykładach, liczby binarne dodatnie i ujemne U2 wyglądają po przekształceniu na dziesiętne inaczej niż w przypadku metody ZM. Przekształcenie ujemnej liczby dziesiętnej na postać binarną jest bardziej pracochłonne niż w metodzie ZM. 1. Na początku obliczamy postać binarną z wartości bezwzględnej dziesiętnej liczby ujemnej: 5:2 = 2 r = 1 2:2 = 1 r = 0 1:2 = 0 r = 1 5 D = 5 D = 5 D = 101 B 2. Powstałą liczbę binarną należy uzupełnić zerami do liczby cyfr będących krotnością dwójki. W tym przypadku, gdy liczba binarna ma 3 cyfry, dopełniamy do 4. Jeżeli byłoby 5 cyfr, należałoby uzupełnić do ośmiu itd. 0101 B 3. 4. Następnie należy zamienić wszystkie cyfry w liczbie binarnej na przeciwne, czyli jedynki na zera i odwrotnie: 1010 W ostatnim etapie do powstałej liczby dodaje się binarną jedynkę wynik jest ujemną liczbą binarną: + 0 0 0 1 1 3 0 2 = 1( 2 3 )+0(2 2 )+1(2 1 )+1(2 0 ) = 8+3 = 5 53

Rozdział 3 t Arytmetyka liczb binarnych 3.4. Liczby binarne stałoi zmiennoprzecinkowe Podobnie jak w systemie dziesiętnym liczby binarne również mogą być zapisane w postaci ułamkowej. Zapis binarnych liczb pozycyjnych z przecinkiem może przyjąć postać stało- lub zmiennoprzecinkową. 3.4.1. Liczby stałoprzecinkowe (stałopozycyjne) Liczby stałoprzecinkowe (ang. fixed-point numbers) umożliwiają zapis liczb w postaci ułamkowej, w którym pozycja przecinka ustalana jest arbitralnie w zależności od wymaganej dokładności. Binarną liczbę stałoprzecinkową można potraktować jako złożenie dwóch części liczby całkowitej oraz ułamkowej rozdzielonych przecinkami: część całkowita część ułamkowa 10110011, 0101 W celu przekształcenia binarnej liczby stałoprzecinkowej na postać dziesiętną należy posłużyć się poniższym wzorem: a n-1 a 1 a 0, a -1 a -m = a n-1 *2 n-1 + +a 1 *2 1 +a 0 *2 0 +a -1 *2-1 + +a -m *2 -m Wartości wag części ułamkowej przyjmują postać ułamków, gdzie dokładność określona jest przez wagę najmłodszej cyfry. Przykłady: 1101,11 B = 1 3 1 2 0 1, 1-1 1-2 = 1*2 3 +1*2 2 +0*2 1 +1*2 0 +1*2-1 +1*2-2 = 8+4+1+½+¼ = 13,75 D 11100101,1011 = 2 7 +2 6 +2 5 +2 2 +2 0 +2-1 +2-3 +2-4 = 128+64+32+4+1+½+ 1 / 8 + 1 / 16 = 229,6875 D Zamianę liczby dziesiętnej na postać binarną przeprowadza się w dwóch etapach: qq zamiana liczby całkowitej na postać binarną za pomocą cyklicznego dzielenia przez 2; qq zamiana części ułamkowej na postać binarną za pomocą cyklicznego mnożenia przez 2. Jeżeli wynik jest 1, to wyznaczony bit części ułamkowej jest także równy 1. Do dalszych obliczeń wykorzystuje się część ułamkową wyniku. Proces należy wykonywać aż do otrzymania 0. Z wyników iloczynów pobiera się wartości całkowite ułamek liczby binarnej. Otrzymane liczby łączymy, przedzielając część całkowitą i ułamkową przecinkiem. Jeżeli mnożenie przez 2 prowadzi do osiągnięcia nieskończenie długiej kombinacji zer i jedynek, należy przyjąć przybliżoną dokładność, na przykład do 10 miejsc po przecinku. 54

3.4. Liczby binarne stało- i zmiennoprzecinkowe Przykład: 10,225 10, 225 10:2 = 5 r = 0 5:2 = 2 r = 1 2:2 = 1 r = 0 1:2 = 0 r = 1 10 D = 1010 B 1. 0,225*2 = 0,45 część całkowita 0 2. 0,45*2 = 0,9 część całkowita 0 3. 0,9*2 = 1,8 część całkowita 1 4. 0,8*2 = 1,6 część całkowita 1 5. 0,6*2 = 1,2 część całkowita 1 6. 0,2*2 = 0,4 część całkowita 0 7. 0,4*2 = 0,8 część całkowita 0 8. 0,8*2 = 1,6 część całkowita 1 9. 0,6*2 = 1,2 część całkowita 1 10. 0,2*2 = 0,4 część całkowita 0 0,225 D = 0,0011100110 B 10,225 D = 1010,0011100110 B 3.4.2. Liczby zmiennoprzecinkowe (zmiennopozycyjne) W odróżnieniu od liczb stałoprzecinkowych liczby zmiennoprzecinkowe (ang. floating-point numbers FP) umożliwiają obsługę większego zakresu liczb (bardzo małych lub bardzo dużych), jednak kosztem wolniejszego przetwarzania i mniejszej dokładności. Termin zmiennoprzecinkowe oznacza, że nie istnieje stała liczba cyfr przed przecinkiem i po nim. UWAGA Komputery przetwarzają najczęściej liczby zmiennoprzecinkowe w przybliżeniu. Nieuwaga programisty podczas operowania na liczbach zmiennoprzecinkowych może prowadzić do przekłamań w otrzymanych wynikach. 55

Rozdział 3 t Arytmetyka liczb binarnych Liczba zmiennoprzecinkowa składa się z dwóch części: liczby stałoprzecinkowej (ang. mantissa mantysa, m) oraz podstawy (p) podniesionej do potęgi, zwanej cechą lub wykładnikiem (ang. exponent, e): l FP = m*b e W celu zamiany zmiennoprzecinkowej liczby binarnej na postać dziesiętną należy ze słowa kodu wydobyć cyfry cechy i mantysy (na przykład 110010 4 cyfry cechy i 4 mantysy): cecha mantysa b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 Za pomocą metody uzupełnień do 2 oblicza się wartość cechy: e = b 7 ( 2 3 )+b 6 2 2 +b 5 2 1 +b 4 2 0 = ( 8)b 7 +4b 6 +2b 5 +b 4 Mantysa jest najczęściej liczbą stałoprzecinkową z przedziału [1, 2). Oblicza się ją na podstawie wzoru: m = b 3 b 2, b 1 b 0 = b 3 ( 2 1 )+b 2 2 0 +b 1 2-1 +b02-2 = 2b 3 +b 2 +½b 1 +¼b 2 Otrzymaną cechę i mantysę podstawia się do wzoru: Przykłady: l FP = m*2 e 111001 FP e = 1111 U2 1111 U2 = 8+4+2+1 = 1 D m = 10,01 U2 10,01 U2 = 2+¼ = 1,75 D l FP = m*2 e = 1¾*2-1 = 7 / 4 *½ = 0,875 11111001 FP = 0,875 D 000100 FP e = 0001 U2 0001 U2 = 1 D m = 01,00 U2 01,00 U2 = 1 D l FP = m*2 e = 1*2 1 = 1*2 = 2 00010100 FP = 2 D Zamianę liczby dziesiętnej na postać binarną można wykonać, stosując metodę dla liczb stałoprzecinkowych. 56

3.4. Liczby binarne stało- i zmiennoprzecinkowe Przykład: 13,7 D 13:2 = 6 r = 1 6:2 = 3 r = 0 3:2 = 1 r = 1 1:2 = 0 r = 1 13 D = 1101 B 0,7*2 = 1,4 część całkowita 1 0,4*2 = 0,8 część całkowita 0 0,8*2 = 1,6 część całkowita 1 0,6*2 = 1,2 część całkowita 1 13,7 D = 1101,1011 B ĆWICZENIA 1. Dokonaj konwersji liczb binarnych do postaci dziesiętnej z wykorzystaniem zapisu wielomianowego: a. 11011011 B b. 10010011 B 2. W celu sprawdzenia wyników pierwszego ćwiczenia liczby dziesiętne przekształć na liczby binarne za pomocą cyklicznego dzielenia przez podstawę. 3. Dokonaj konwersji liczb szesnastkowych do postaci dziesiętnej z wykorzystaniem zapisu wielomianowego: a. F3A H b. 952 H 4. W celu sprawdzenia wyników z pierwszego ćwiczenia liczby dziesiętne przekształć na liczby binarne za pomocą cyklicznego dzielenia przez podstawę. 5. Dokonaj konwersji liczby binarnej 1011011011 do postaci szesnastkowej B z wykorzystaniem zapisu wielomianowego. 57

Rozdział 3 t Arytmetyka liczb binarnych ĆWICZENIA ciąg dalszy 6. Wykonaj działania arytmetyczne na liczbach binarnych: a. 1 1 +???? b. 1 0 1???? c. 1 1 d.??????? : 7. Przekształć liczby binarne ze znakiem do postaci dziesiętnej za pomocą kodu U2: a. 0101 B b. 1101 B 8. Przekształć dziesiętną liczbę 7 do postaci binarnej. D 9. Przekształć binarną liczbę stałoprzecinkową 1001,11 do postaci dziesiętnej. B 10. Przekształć ułamkową liczbę dziesiętną 17,6 do postaci binarnej. D 58

3.4. Liczby binarne stało- i zmiennoprzecinkowe Pytania i polecenia kontrolne 1. 2. 3. 4. 5. Wymień pozycyjne systemy liczbowe. Opisz sposoby konwersji liczb heksadecymalnych na binarne i binarnych na heksadecymalne. Co to jest tabliczka dodawania i odejmowania liczb binarnych? Jakie niedoskonałości skrywa metoda znak-moduł? Jakie niebezpieczeństwo pojawia się przy zaokrąglaniu binarnych liczb zmiennoprzecinkowych? 59