Wprowadzenie do informatyki - ć wiczenia

Podobne dokumenty
Wprowadzenie do informatyki - ć wiczenia

Wprowadzenie do informatyki - ć wiczenia

Zapis liczb binarnych ze znakiem

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

Wprowadzenie do informatyki ćwiczenia

Wprowadzenie do informatyki - ć wiczenia

Pracownia Komputerowa wykład V

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

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

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Kod U2 Opracował: Andrzej Nowak

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

Podstawy Informatyki

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Pracownia Komputerowa wyk ad V

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

Arytmetyka binarna - wykład 6

Pracownia Komputerowa wykład VI

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

Naturalny kod binarny (NKB)

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

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

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Arytmetyka liczb binarnych

Pracownia Komputerowa wykład IV

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

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

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

Pracownia Komputerowa wyk ad IV

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

Pracownia Komputerowa wyk ad VI

SYSTEMY LICZBOWE 275,538 =

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

Stan wysoki (H) i stan niski (L)

Wstęp do Informatyki

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

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

Systemy zapisu liczb.

Arytmetyka stałopozycyjna

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Technologie Informacyjne

Metoda znak-moduł (ZM)

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

Podstawy Informatyki

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

Cyfrowy zapis informacji

Wstęp do informatyki- wykład 2

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

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

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

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

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

PODSTAWY INFORMATYKI. Informatyka? - definicja

1.1. Pozycyjne systemy liczbowe

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

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

1. Operacje logiczne A B A OR B

System Liczbowe. Szesnastkowy ( heksadecymalny)

Teoretyczne Podstawy Informatyki

Kodowanie informacji. Kody liczbowe

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

Kodowanie liczb całkowitych w systemach komputerowych

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

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

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

Systemy liczbowe używane w technice komputerowej

Arytmetyka stało i zmiennoprzecinkowa

Techniki multimedialne

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

Wstęp do informatyki- wykład 1

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

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

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

Operacje arytmetyczne

Architektura komputerów

Wydział Mechaniczny. Instrukcja do zajęć laboratoryjnych

Pozycyjny system liczbowy

L6.1 Systemy liczenia stosowane w informatyce

Metody numeryczne II. Reprezentacja liczb

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

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

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

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

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

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

4 Standardy reprezentacji znaków. 5 Przechowywanie danych w pamięci. 6 Literatura

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

Sposób reprezentacji informacji w systemie. Reprezentacja informacji. Dzięki kodowaniu informacji.

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

LICZBY ZMIENNOPRZECINKOWE

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

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

Operacje arytmetyczne w systemie dwójkowym

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

Klasa 6. Liczby dodatnie i liczby ujemne

LISTA 1 ZADANIE 1 a) 41 x =5 podnosimy obustronnie do kwadratu i otrzymujemy: 41 x =5 x 5 x przechodzimy na system dziesiętny: 4x 1 1=25 4x =24

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

Technika Cyfrowa i Mikroprocesorowa

WYRAŻENIA ALGEBRAICZNE

Technologie Informacyjne Wykład 4

Transkrypt:

Kod uzupełnień do 2 (U2) dr inż. Izabela Szczęch WSNHiD Ćwiczenia z wprowadzenia do informatyki Reprezentacja liczb całkowitych Jak kodowany jest znak liczby? Omó wimy dwa sposoby kodowania liczb ze znakiem: kod znak-moduł(zm), kod uzupełnień do dwu (U2). 2 Izabela Szczęch 1

Plan zajęć Kod U2 definicja i konwersja Zakresy liczb reprezentowanych w kodzie U2 Arytmetyka w kodzie U2 3 Kod uzupełnień do dwu - definicja i konwersja Izabela Szczęch 2

Kod uzupełnień do 2 (U2) Motywacja 00001110 (+14 10 ) + 1xxxxxxx (-14 10 ) 00000000 (0) 00001110 + 11110010 00000000 prowadzimy obliczenia na 8-miu bitach, więc pomijamy przeniesienie 1 na 9-ty bit. chcemy by najstarszy bit informowało znaku liczby chcemy tak zapisać -14, aby wykonać powyż sze dodawanie w systemie dwó jkowym bez zastanawiania się czy któ ryś bit jest znakiem czy nie 5 Kod uzupełnień do 2 (U2) 00001110 (+14 10 ) + 11110010 (-14 10 ) 00000000 (0) 2 8-00001110 =100000000 00001110 =11110010 drugi składnik sumy jest uzupełnieniem dwó jkowym liczby 14 zapisanej na 8-miu bitach Uzupełnieniem dwó jkowym (ang. 2C - Two's Complement) liczby x zapisanej za pomocą n bitó w nazywamy liczbę ró wną 2 n x (U2) Kod U2 ułatwia realizację podstawowych operacji arytmetycznych, gdyż nie wymaga oddzielnego obsługiwania bitu znaku (jak to jest w przypadku kodu ZM) 6 Izabela Szczęch 3

Konwersja z kodu U2 na system dziesiętny Wartość dziesiętną liczby w kodzie U2 obliczamy następująco: cyfry mnoż ymy przez wagi pozycji, na któ rych się znajdują i dodajemy otrzymane iloczyny. Waga bitu znakowego jest ujemna i wynosi (-2 n-1 ). c n-1 c n-2 c n-3...c 2 c 1 c 0 (U2) = c n-1 (-2 n- 1 ) + c n-2 2 n- 2 +... + c 2 2 2 + c 1 2 1 + c 0 2 0 (10) gdzie, c - cyfra dwó jkowa 0 lub 1 n - liczba bitó w w zapisie liczby 7 Konwersja z kodu U2 na system dziesiętny Jeśli bit znaku jest ró wny 0, to liczba jest dodatnia i resztę zapisu moż emy potraktować jak liczbę w naturalnym systemie dwó jkowym, bo waga bitu znaku i tak zniknie przy mnoż eniu przez bit znaku czyli 0. Przykład dla zapisu 8-mio bitowego 01101011 (U2) = 0*(-2 7 ) + 1*2 6 + 1*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 1*2 1 + 1*2 0 = 2 6 + 2 5 + 2 3 + 2 1 + 2 0 =64 + 32 + 8 + 2 + 1 = 107 (10). 8 Izabela Szczęch 4

Konwersja z kodu U2 na system dziesiętny Jeśli bit znaku jest ró wny 1, to liczba ma wartość ujemną. Bit znaku ma wagę (-2 n- 1 ), gdzie n oznacza liczbę bitó w w wybranym formacie U2. Reszta bitó w jest zwykłą liczbą w naturalnym kodzie dwó jkowym. Wagę bitu znakowego i wartość pozostałych bitó w sumujemy otrzymując wartość liczby U2. Przykład dla zapisu 8-mio bitowego 111010111101011 (U2) = 1*(-2 7 ) + 1*2 6 + 1*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 1*2 1 + 1*2 0 =-128+64+32+8+2+1 = -128 + 107 = (-21) 21) (10). 9 Wyznaczanie liczby przeciwnej w U2 SPOSÓ B 1: Liczbę przeciwną do x moż na wyznaczać z definicji uzupełnienia dwó jkowego jako 2 n x (U2), gdzie n oznacza liczbę bitó w w przyjętym formacie. Przykład: Rozważ my zapis na czterech bitach: Niech x = 0101. Uzupełnieniem dwó jkowym jest x (U2) = 2 4-0101 =10000-0101 = 1011. Niech y = 1011. Uzupełnieniem dwó jkowym jest y (U2) = 2 4-1011 = 0101. Otrzymaliśmy zatem, ż e y (U2) = x. Ponieważ jednak y = x (U2), więc ostatecznie moż emy zapisać, ż e (x (U2) ) (U2 U2) = x. Zatem uzupełnienie dwó jkowe danej liczby reprezentuje liczbę do niej przeciwną. 10 Izabela Szczęch 5

Wyznaczanie liczby przeciwnej w U2 SPOSÓ B 2: Zanegować wszystkie bity zapisu liczby w U2 Do wyniku dodać 1 Przykład: Znajdź liczbę przeciwna do 0101 (U2) (U2). Zanegować wszystkie bity: 1010 Dodać 1: 1010+1=1011 1011 (U2) Sprawdzenie wyniku: 0101 (U2) =4+1=5 (10) ; 1011 (U2) =-8+2+1= 8+2+1=-5 (10) 11 Wyznaczanie liczby przeciwnej w U2 SPOSÓ B 3: 1. Analizę rozpoczynamy od prawej strony zapisu liczby. 2. Do wyniku przepisujemy kolejne bity o wartości 0 wraz z pierwszym napotkanym bitem o wartości 1. 3. Wszystkie pozostałe bity przepisujemy, zmieniając ich wartość na przeciwną. Przykład: Znajdź liczbę przeciwna do 110011001100 (U2) punkt 1-2: 100 punkt 3: 001100110100 (U2). 100 (U2) Sprawdzenie wyniku: 110011001100 (U2) =-2048+1024+128+64+8+4= 2048+1024+128+64+8+4=-820 001100110100 (U2) =512+256+32+16+4=820 (10) 820 (10) ; 12 Izabela Szczęch 6

Zadania Zadania: Oblicz wartość dziesiętną następujących liczb 8-mio bitowych w reprezentacji U2, a następnie znajdź do nich liczby przeciwne (w reprezentacji U2): a) 10000001 (U2) b) 11111111 (U2) c) 01111111 (U2) d) 01010100 (U2) 13 Konwersja dodatnich liczb dziesiętnych na zapis U2 Znajdujemy reprezentację dwó jkową danej wartości liczbowej Uzupełniamy ją z przodu bitami 0 do długości zadanego formatu kodu U2. Przykład: Wyznaczyć 8-mio bitowy kod U2 dla liczby dziesiętnej 27 (10) 27 (10) = 16 + 8 + 2 + 1 = 11011 (2) = 00011011 (U2). (10). 14 Izabela Szczęch 7

Konwersja ujemnych liczb dziesiętnych na zapis U2 SPOSÓ B 1: Wyznaczamy zapis dwó jkowy modułu liczby Otrzymany kod dwó jkowy uzupełniamy z przodu w miarę potrzeb zerami do rozmiaru formatu U2 Wyznaczamy liczbę przeciwną (w dowolny sposó b) Przykład: Wyznaczyć 8-mio bitowy kod U2 dla liczby -45 45 (10). Wyznaczamy kod binarny modułu liczby: 45 (10) =101101 (2) Kod uzupełniamy bitami 0 do wymaganej długości 8-miu bitó w: 00101101 Wyznaczamy liczbę przeciwną do 00101101 (U2) : 11010011 (U2) Stąd (-45) (10) = 11010011 (U2) 15 Konwersja ujemnych liczb dziesiętnych na zapis U2 SPOSÓ B 2: Jeśli do liczby 2 n (n - ilość bitó w w formacie U2) dodamy przetwarzaną liczbę dziesiętną, to zapisany dwó jkowo wynik będzie ró wnoważ ny bitowo (tzn. o takiej samej postaci) kodowi U2 przetwarzanej liczby. Przykład: Wyznaczyć 8-mio bitowy kod U2 dla liczby dziesiętnej -45 45 (10). 2 8 + (-45) = 256-45 = 211 = 11010011 (2). Stąd (-45) (10) = 11010011 (U2) (U2) 16 Izabela Szczęch 8

Zakres liczb w kodzie U2 Jaka jest najmniejsza i największa wartości liczby, któ rą da się przedstawić w danym formacie kodu U2? Liczba największa w U2 powstaje przy bicie znaku ró wnym 0, i przy pozostałych bitach ró wnych 1. Liczba najmniejsza w U2 powstaje przy bicie znaku ró wnym 1, i przy pozostałych bitach ró wnych 0. Zadania: Zakres liczb w kodzie U2 1. Wyznacz zakres liczb dziesiętnych reprezentowanych w kodzie U2 na 4, 8 i 16 bitach. 2. Podaj ogó lny wzó r na określający zakres n-bitowych liczb w kodzie U2. 18 Izabela Szczęch 9

Zakres liczb w kodzie U2 Zakres n-bitowej liczby w kodzie ZM określony jest wzorem: Z (U2) = <-2 n- 1, 2 n- 1-1> W poró wnaniu z kodem znak-moduł, kod U2 jest niesymetryczny, bo na n-bitach moż na zapisać w nim o jedną więcej liczbę ujemną niż liczb dodatnich. 19 Poró wnanie kodó w Poró wnanie interpretacji wartości słó w kodu binarnego w różnych systemach zapisu liczb ze znakiem 20 Izabela Szczęch 10

Arytmetyka w kodzie U2 Dodawanie i odejmowanie w U2 Liczby U2 dodajemy i odejmujemy wg zasad dla naturalnego systemu dwó jkowego. Przeniesienia poza bit znaku ignorujemy (w rzeczywistości takie przeniesienia czy poż yczki mogą być wykorzystywane przez procesor do dodawania liczb o wielokrotnej precyzji). Przykłady dla 8-mio bitowego formatu U2: -5 + 100=95 1 1 1 1 1 0 1 1 + 0 1 1 0 0 1 0 0 1 0 1 0 1 1 1 1 1 przeniesienie poza bit znaku ignorujemy -100-5=-105 1 0 0 1 1 1 0 0-0 0 0 0 0 1 0 1 1 0 0 1 0 1 1 1 22 Izabela Szczęch 11

Kod U2 nadmiar i niedomiar Ponieważ liczby zapisane w systemie U2 posiadają ustalony format (ilość bitó w jest stała), to przy wykonywaniu operacji arytmetycznych może dochodzić do nadmiaró w (wynik większy niż moż na przedstawić za pomocą dostępnych bitó w modułu) lub niedomiaró w. Nadmiar (niedomiar) wystąpi, gdy w U2 suma dwó ch liczb dodatnich (ujemnych) daje w wyniku liczbę ujemną (dodatnią). Nadmiar i niedomiar nie występują przy dodawaniu liczb o przeciwnych znakach Przykłady dla 8-mio bitowego formatu U2: 100+40=nadmiar 0 1 1 0 0 1 0 0 + 0 0 1 0 1 0 0 0 1 0 0 0 1 1 0 0 suma liczb dodatnich dała liczbę ujemną -100 + (-40)=niedomiar 1 0 0 1 1 1 0 0 + 1 1 0 1 1 0 0 0 0 1 1 1 0 1 0 0 suma liczb ujemnych dała liczbę dodatnią 23 Arytmetyka w kodzie U2 -zadania Zadania: Stosując dwó jkową reprezentację U2 na 8-miu bitach zapisz następujące liczby całkowite i wykonaj działania: a) 18 + 20 b) -30 + (-25) c) -20 + 60 d) 120 + 32 e) -65 + (-84) 24 Izabela Szczęch 12