Teoretyczne Podstawy Informatyki

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

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

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

Pracownia Komputerowa wykład VI

Podstawy Informatyki

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

Stan wysoki (H) i stan niski (L)

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

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

Arytmetyka binarna - wykład 6

Kodowanie informacji. Kody liczbowe

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Pracownia Komputerowa wyk ad VI

Naturalny kod binarny (NKB)

SYSTEMY LICZBOWE 275,538 =

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Technologie Informacyjne

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

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

Podstawy Informatyki dla Nauczyciela

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

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

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

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

Architektura komputerów

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

Systemy zapisu liczb.

1.1. Pozycyjne systemy liczbowe

Techniki multimedialne

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

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

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

Metoda znak-moduł (ZM)

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

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

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

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

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

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

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

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

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

L6.1 Systemy liczenia stosowane w informatyce

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

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

Kodowanie liczb całkowitych w systemach komputerowych

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

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

Wstęp do informatyki- wykład 1

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

Architektura komputerów

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

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

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

Technologie Informacyjne Wykład 4

Arytmetyka liczb binarnych

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

LICZBY ZMIENNOPRZECINKOWE

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

Systemy liczbowe używane w technice komputerowej

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

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

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

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

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Cyfrowy zapis informacji

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

System Liczbowe. Szesnastkowy ( heksadecymalny)

Jednostki informacji - bit. Kodowanie znaków: ASCII, ISO 8859, Unicode liczb: NKB (BCN), U2, BCD. Liczby zmiennoprzecinkowe standard IEEE 754

PODSTAWY INFORMATYKI. Informatyka? - definicja

Architektura komputerów

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

DZIESIĘTNY SYSTEM LICZBOWY

Systemy liczenia. 333= 3*100+3*10+3*1

Pozycyjny system liczbowy

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

Wprowadzenie do informatyki - ć wiczenia

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

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

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Kod U2 Opracował: Andrzej Nowak

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

Arytmetyka stałopozycyjna

Pracownia Komputerowa wykład V

Technika Cyfrowa i Mikroprocesorowa

Moduł 2 Zastosowanie systemów liczbowych w informacji cyfrowej

Pracownia Komputerowa wykład IV

Wstęp do informatyki- wykład 2

Podstawy Informatyki

dr inż. Jarosław Forenc

Pracownia komputerowa. Dariusz Wardecki, wyk. VI

Wstęp do Informatyki

Podstawy informatyki (2)

Arytmetyka komputera

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

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

Wprowadzenie do informatyki - ć wiczenia

BŁĘDY OBLICZEŃ NUMERYCZNYCH

Transkrypt:

Teoretyczne Podstawy Informatyki

cel zajęć Celem kształcenia jest uzyskanie umiejętności i kompetencji w zakresie budowy schematów blokowych algor ytmów oraz ocenę ich złożoności obliczeniowej w celu optymizacji czasu ich wykonania.

Po zakończeniu kursu student powinien: formułować słowny opis algorytmu, wskazać złożoność obliczeniową, wyliczać podstawowy algorytmy. konstruować algorytmy w postaci schematów blokowych; analizować złożoność algorytmów czasowo-pamięciową. analizować schematy blokowe, definiować dane wyjściowe i wejściowe.

reprezentacja liczb w systemach komputerowcy!

Ile gramów to kilogram? 1 B = 8 b najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie prawdopodobnych stanów przyjął układ Ile bajtów to kilobajt :)? 2 10 B = 1 024 B = 1 kb 1 MB > 2 20 = 1024 2 = 1 048 576 B GB TB PB

Arytmetyka komputerowa Pozycyjne Systemy liczbowe; Reprezentacja liczb całkowitych i rzeczywistych; Arytmetyka na liczbach stałoprzecinkowych; Arytmetyka na liczbach zmiennoprzecinkowych

Pozycyjne systemy liczbowe - metoda zapisywania liczb Pozycyjny system liczbowy: para (q;c), gdzie: q>=2 jest liczbą naturalną (podstawa systemu), C jest skończonym zbiorem znaków{0; 1;...; q-1}.! W systemie pozycyjnym liczbę przedstawia się jako ciąg cyfr. Wartość tej liczby zależy zarówno od cyfr jak i miejsca, na którym się one znajdują w tym ciągu. System wagowy dla każdej pozycji znaku przypisana jest inna waga.

Organizacja bitów w liczbie dwójkowej / binarnej bit bit bit bit n-1 n-2 1 0 MSB LSB MSB najstarszy, najbardziej znaczący bit (ang. most significant bit) LSB najmłodszy, najmniej znaczący bit (ang. little significant bit)

system dziesiętny dziesiętny (dziesiątkowy) system liczbowy (q = 10);! W technice komputerowej: i= dwójkowy (binarny) (q = 2); ósemkowy (q = 8); heksadecymalny (q = 16); w zapisie tym cyfry 0,...,9 uzupełnione są symbolami graficznymi kolejnych pierwszych liter alfabetu. L = n m i c i q

gdzie: c k, c k-1,..., c 1,c 0 C, q>=2, m<=0, n>=0, m<=n L = n i= m i c i q

Wagowy system liczbowy przykład liczba 4570,23 (10) L = 3 c i 10 i zapis w systemie dziesiętnym i= 2 3*10-2 + 2*10-1 + 0*10 0 + 7*10 1 + 5*10 2 + 4*10 3 = 4000 + 500 + 70 + 0,2 + 0,03

System dwójkowy (binarny)

kod BCD Binary-Coded Decimal - system dziesiętny zakodowany dwójkowo sposób zapisu liczby polegający na zakodowaniu kolejnych cyfr dziesiętnych tej liczby w systemie dwójkowym przy użyciu tylko czterech młodszych bitów. 127 > 0001 0010 0111 (podstawowy wariant) 010101110010(BCD) = 0101 0111 0010 = 572(10)

Algorytm konwersji liczby dziesiętnej do postaci binarnej Dzielimy systematycznie daną liczbę dziesiętną przez 2 i zapamiętujemy reszty z dzielenia. Reszty te zapisane w odwrotnej kolejności tworzą zapis binarny liczby. 23:2=11, reszta=1 11:2=5, reszta=1 5:2 =2, reszta=1 2:2 =1, reszta=0 1:2 =0, reszta=1 Odczytujemy liczbę binarną (dwójkową) od dołu reszt do góry.

Operacje arytmetyczne na liczbach dwójkowych 1001 przeniesienie (ang. carry) 1 1001 liczba pierwsza 9 +1101 liczba druga +13 10110 wynik (suma) 22 przeniesienie C suma S 0 + 0 0 0 0 + 1 0 1 1 + 0 0 1 1 + 1 1 0 Liczby dwójkowe dodawane są parami, tzn. nie można ich dodawać w postaci słupków składających się z wielu wierszy.!! Dodawanie wielu liczb dwójkowych wykonuje przez kolejne dodawanie par tzn. B1 + B2 + B3 + B4 wykonuje się następująco B1 + B2 = W1, W1 + B3 = W2, W2 + B4 = W3 = WYNIK! Taki proces sumowania określa się jako sumowanie akumulacyjne.

System uzupełnień do dwóch U2 - nazwa wzięła się ze sposobu obliczania liczb przeciwnych Liczba zapisana na n bitach w kodzie U2 ma następujące wagi: -2 n-1 2 n-2 2 n-1.. 2 2 2 1 2 0 liczba 4bitowa pozwala na zapis liczb w zakresie 8..7 np. 101(2)U2 -> -2 2 *1 + 2 1 *0 + 2 0 *1 = -4+1 = -3 Aby zapisać liczbę dwójkową (2)U2 na większej liczbie bitów, bez zmiany jej wartości, należy przed nią dopisać jedynki: np. 101(2)U2 = 1101(2)U2 = 1111 1101(2)U2

liczba przeciwna 11101101(U2) = -1 (2 7 ) + 1 2 6 + 1 2 5 + 0 2 4 + 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 = 19! przeciwna negacja liczby: 00010010 (U2) dodanie 1: 00010010 + 00000001 = 00010011 > 1 (2 4 )+1 (2 2 )+1 (2 1 )=16+2+1=19

po co kod U2?? Jest obecnie najpopularniejszym sposobem zapisu liczb całkowitych w systemach cyfrowych. Jego popularność wynika z faktu, że operacje dodawania i odejmowania są w nim wykonywane tak samo jak dla liczb binarnych bez znaku. Z tego też powodu oszczędza się na kodach rozkazów procesora.

odejmowanie Przykład 11-5=6 1011 (11) > U2: 01011 (dodajemy tylko 0) -0101 (-5) > U2: 1011 (negacja+ 1 ) > 11011 (zwiekszenie liczby bitow) 01011 11011 100110 odrzucamy pierwszy bit (pogrubiony) rozszerzający zakres liczb dodawanych

Przykład 2 15-8=7 2-2=0 2-4=-2

System szesnastkowy System szesnastkowy zwany heksadecymalnym podstawa systemu: liczba 16 wykorzystuje 16 cyfr dziesięć podstawowych (0-9) litery A, B, C, D, E, F odpowiadające kolejno wartości: 10, 11, 12, 13, 14, 15

Zapis liczby naturalnej! (L)16=ck16k+ ck-116k-1+...+ c1161+c0160! (300)16= 3*162 + 0*161 + 0*160 = (3*256+0+0)10 = (768)10 (FF)16= F*161 + F*160 = (15*16+15)10 = (255)10 Każdej cyfrze systemu szesnastkowego odpowiada czteropoz ycyjn a liczba sys temu dwójkowego.! Zam i a n a licz by d wójk o we j n a sze snas t kową polega na p rz y p i s a n i u k ażd y m k o le jny m czterem pozycjom zerojedynkowym o dp o w ie dnie j cy f r y układu szesnastkowego.

zapis stałoprzecinkowy? zmiennoprzecinkowy zapis stałoprzecinkowy: 13,345671 (2cyfry, 6 cyfr) podział na część całkowitą i ułamkową przed zapisem liczb: pozwala dopasować zakres do dużych liczby lub do dużej dokładności obliczeń. możliwa arytmetyka całkowitoliczbowa. zapis zmiennoprzecinkowy: 4,39*10 3 dla mantysy i wykładnika ilość cyfr jest z gòry ustalona reprezentowana z pewną skończoną dokładnością i należy do skończonego zbioru wartości.

liczby stałoprzecinkowe - fixedpoint liczba stałoprzecinkowa: część całkowita oraz część ułamkowa: 10,573 > część całkowita: 10 część ułamkowa: 573 > 5/10+7/100+3/1000= 5*10-1 + 7*10-2 + 3*10-3

Wagi bitów części całkowitej mają wartości (od najbardziej znaczącego bitu): 2 k-1,, k 0 wagi bitów części ułamkowej mają wartości: 2-1,,2- n dokładność reprezentacji wynosi (jest równa): wadze najmniej znaczącego bitu części ułamkowej.

k=4-bity część całkowita n=2-bity część ułamkowa 1111,11 -> 2 3 +2 2 +2 1 +2 0 +2-1 +2-2 = 15,75 // 1/2+1/4!! 1011,102 = 2 3 + 2 1 + 2 0 + 2-1 = 11,510 arytmetyka stałoprzecinkowa może zostać zrealizowana za pomocą działań całkowitoliczbowych

liczby zmiennoprzecinkowe reprezentacja liczby rzeczywistej zapisanej za pomocą notacji naukowej. mantysa i cecha > podłoga i sufit S (ang. sign) znak liczby, 1 lub -1 M (ang. mantissa) znormalizowana mantysa, liczba ułamkowa B (ang. base) podstawa systemu liczbowego (2 dla systemów komputerowych) E (ang. exponent) wykładnik, cecha, liczba całkowita

Mantysa jest znormalizowana, należy do przedziału [1, B) Zarówno dla mantysy jak i wykładnika liczba cyfr jest z góry ustalona. Dana liczba jest reprezentowana z pewną skończoną dokładnością i należy do skończonego zbioru wartości.

zakres wykładnik: max > Bn-1 min > -Bn+1 gdzie n+1 - liczba cyfr przeznaczona na wykładnik! mantysa: max > B-B-(m-1) min > 1 gdzie m - liczba cyfr przeznaczona na mantysę blad wzgledny

przykład B=10 mantysa 4 cyfry wykładnik 2 cyfry liczba do zapisu: 60,89523 > M=60,89523 ; E=0 M=6,089523, E=1. ~ 6,090 wynik: 6,090 10 1 = 6,090 E 1 Mantysa jest znormalizowana, należy do przedziału [1, B) bład względny 1/10 3 0,0000125 > 1,250 10-5 = 1,25 E -5 Liczba cyfr znaczących jest mniejsza od dostępnej, więc nie jest potrzebne zaokrąglanie

Implementacje sprzętowe Mantysa należy do przedziału [1,2), 1.xxxxx... (x bit o dowolnej wartości). część całkowita znana = 1 > nie jest zapamiętywana IEEE 754, w oparciu o który realizuje się obecnie wszystkie implementacje sprzętowe liczb zmiennoprzecinkowych. Definiuje on dwie klasy liczb: pojedynczej precyzji (ang. single) podwójnej precyzji (ang. double)

precyzja/zakres - IEEE 754 pojedyncza precyzja: cecha > 8bitów: -127 128 mantysa > 23bity + 1bit > [1,2) podwójna precyzja: cecha > 11bitów: -1023 1024 mantysa > 52bity + 1bit > [1,2)

01000010110010000000000000000000 cecha mantysa 01000010110010000000000000000000 c=10000101=133-127(bias) = 6! mantysa=01,10010000000000000000000= 1+1/2+1/16=1 (8+1)/16 = 1 9/16.! (-1) z *m*2 c =1 9/16*2 6 =25/16*16*2 2 =25*4=100!

Liczby pojedynczej precyzji c = 11111110(BIAS=127) c = 254-127=127 m = 01,11111111111111111111111 m = (2 24-1) / 2 23 max = 3,4028234663852885981170418348452 10 38

podwójnej precyzji Z(IEEE 754) = - 1,8 10308... 1,8 10 308

precyzja zakres precyzja: dokładność z jaką dana liczba może być reprezentowana przybliżona ilość dziesiętnych cyfr znaczących np: 4 cyfry dziesiętne > 12,34 ; 2345 > ok 12346 > :( > 1234!!

mantysa - ilość bitów jedną cyfrę dziesiętną można zapisać za pomocą log2(10) bitów a mając 24 bity?? > 7,2 cyfry > 7 cyfr dla 53 bitów > 15, 96 cyfry > 15:16 cyfr