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

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

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

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

Pracownia Komputerowa wykład VI

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

Podstawy Informatyki

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

Teoretyczne Podstawy Informatyki

Pracownia Komputerowa wyk ad VI

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

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

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

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

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

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

Architektura komputerów

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

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Systemy zapisu liczb.

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

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

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

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

Arytmetyka binarna - wykład 6

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

Technologie Informacyjne

Zapis liczb binarnych ze znakiem

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

Metoda znak-moduł (ZM)

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

Naturalny kod binarny (NKB)

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

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

Pracownia Komputerowa wykład V

Kodowanie informacji. Kody liczbowe

LICZBY ZMIENNOPRZECINKOWE

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

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

Podstawy Informatyki dla Nauczyciela

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

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

Stan wysoki (H) i stan niski (L)

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

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

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

Architektura komputerów

Architektura komputerów

Dodatek do Wykładu 01: Kodowanie liczb w komputerze

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

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

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

Pozycyjny system liczbowy

Technologie Informatyczne Wykład IV/V

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

Technologie Informacyjne Wykład 4

LICZBY ZMIENNOPRZECINKOWE

Wstęp do Informatyki. Reprezentacja liczb w komputerze Arytmetyka stało- i zmiennoprzecinkowa Przechowywanie danych pliki i foldery

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

Techniki multimedialne

Arytmetyka stało i zmiennoprzecinkowa

Pracownia Komputerowa wykład IV

Informatyka 1. Wykład nr 5 ( ) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc

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

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

Technika Cyfrowa i Mikroprocesorowa

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

Wprowadzenie do informatyki - ć wiczenia

Adam Korzeniewski p Katedra Systemów Multimedialnych

Kodowanie liczb całkowitych w systemach komputerowych

Reprezentacja symboli w komputerze. Liczby całkowite i zmiennoprzecinkowe. Programowanie Proceduralne 1

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

Kod U2 Opracował: Andrzej Nowak

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

architektura komputerów w. 2

Adam Korzeniewski p Katedra Systemów Multimedialnych

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

Podstawy Informatyki

Zwykle liczby rzeczywiste przedstawia się w notacji naukowej :

Cyfrowy zapis informacji

ARYTMETYKA KOMPUTERA

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

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

Pracownia Komputerowa wyk ad IV

Pracownia komputerowa. Dariusz Wardecki, wyk. VI

1.1. Pozycyjne systemy liczbowe

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

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

Wprowadzenie do informatyki - ć wiczenia

PODSTAWY INFORMATYKI. Informatyka? - definicja

BŁĘDY OBLICZEŃ NUMERYCZNYCH

Arytmetyka liczb binarnych

Liczby zmiennoprzecinkowe i błędy

Programowanie Niskopoziomowe

Operacje arytmetyczne

Informatyka 1. Wykład nr 4 ( ) Plan wykładu nr 4. Politechnika Białostocka. - Wydział Elektryczny

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Metody numeryczne II. Reprezentacja liczb

kodowanie informacji Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Transkrypt:

Podstawy Informatyki Wykład 2 Reprezentacja liczb w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie prawdopodobnych stanów przyjął układ. Jednostka informacji (b). Bajt (ang. byte) (Shannon, 948) Najmniejsza adresowalna jednostka informacji pamięci komputerowej, składająca się z bitów. Zazwyczaj przyjmuje się, że B = 8b (oktet), ale nie jest to reguła! Najbardziej znaczący bit (bajt) - bit (bajt) o największej wadze (w zapisie z lewej strony). Najmniej znaczący bit (bajt) - bit (bajt) o najmniejszej wadze (w zapisie z prawej strony). Nazwa (symbol) kilobit (kb) megabit (Mb) gigabit (Gb) terabit (Tb) petabit (Pb) exabit (Eb) zettabit (Zb) yottabit (Yb) Prefiksy SI dziesiętny 3 6 9 2 5 8 2 24 Standard SI dwójkowy 2 2 2 2 3 2 4 2 5 2 6 2 7 2 8 Różnica, % 2.4 4.86 7.37 9.95 2.59 5.29 8.6 2.89 Prefiksy binarne Nazwa (symbol) kibibit (Kibit) mebibit (Mibit) gibibit (Gibit) tebibit (Tibit) pebibit (Pibit) exbibit (Eibit) zebibit (Zibit) yobibit (Yibit) Sposoby zapisu danych w pamięci Pamięć w komputerach adresowana jest (najczęściej) liniowo. Jak zapisać wielobajtowe dane pod danym adresem? W jakiej kolejności przesyłać kolejne bajty? 4A3B2CD(h) Big-endian Najbardziej znaczący bajt jest umieszczany jako pierwszy. 99 2 3 4... 4A 3B 2C D... np. procesory: SPARC, Motorola 68, PowerPC. Little-endian Najmniej znaczący bajt jest umieszczany jako pierwszy. dwójkowy, ósemkowy, Systemy pozycyjne dziesiętny (Indie Arabowie Europa), dwunastkowy (Babilonia, Rzym,średnowieczna Europa, W.Brytania, USA szyling=2 pensów, stopa=2cali, cal=2 linii, linia =2 punktów), szesnastkowy, phi-base system (wsp. złotego podziału jako podstawa). 99... D 2C 2 3B 3 4A 4... np. procesory: Intel x86, AMD64.

Systemy pozycyjne W pozycyjnych systemach liczbowych ten sam symbol (cyfra) ma różną wartość w zależności od pozycji, którą zajmuje w zapisie danej liczby. 4 i x = c4c3c2cc = c i p i= p podstawa systemu pozycyjnego. Do zapisu liczby służą cyfry c i (których jest p) ustawiane na kolejnych pozycjach.pozycje numerujemy od zaczynając od strony prawej zapisu. Każda pozycja posiada swoją wagę równą p i. Wartość liczby obliczamy sumująć iloczyny cyfr przez wagi ich pozycji. Systemy pozycyjne zapis liczby ułamkowej x = c n n c2cc c c 2... c m = ci i= m.... Część ułamkowa liczby m pozycji. Część całkowita liczby n pozycji. Wartość liczby obliczamy sumując iloczyny cyfr przez wagi ich pozycji. p i System dziesiętny Cyfry:,, 2, 3, 4, 5, 6, 7, 8, 9. Przykład: 55.825 = 5* +5* +8* - +* -2 +2* -3 +5* -4 System ten jest wygodny dla człowieka, ale nie dla maszyny. Reprezentacja cyfry dziesiętnej cyfra zajmuje cztery bity pamięci komputera. W ten sposób marnujemy pamięć niektóre kombinacje (np. ) są niewykorzystane. System dwójkowy (binarny) Gottfried Leibnitz, XVIIw. Cyfry:,. Przykład:. 2 = *2 5 + *2 4 + *2 3 + *2 2 + *2 + *2. + *2 - + *2-2 + *2-3 + *2-4 System ten jest wygodny maszyny. Reprezentacja cyfry binarnej zajmuje dokładnie jeden bit. n-cyfrowa liczba binarna bez znaku zajmuje n bitów w pamięci komputera. Konwersja kodu dziesiętnego na dwójkowy Część całkowitą liczby dzielimy sukcesywnie przez 2 i bierzemy reszty 55 27 3 6 3 55 () = (2) 55.825 Część ułamkową liczby mnożymy sukcesywnie przez 2 i bierzemy część całkowitą 625 25 5 825.825 () =. (2) 55.825 () =. (2) Konwersja kodu dziesiętnego na dwójkowy Nie każdy ułamek skończony w systemie dziesiętnym jest ułamkiem skończonym w systemie dwójkowym!. () =?. () =... (2) =.() 2 4 8 6 2 4 8 6 2......

System szesnastkowy Cyfry:,, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. System łaczy zalety systemu binarnego (dobre wykorzystanie pamięci) oraz dziesiątkowego (zwięzłość). Reprezentacja cyfry szesnastkowej zajmuje 4 bity: Cyfra () (2) Cyfra () (2) 2 3 4 5 6 7 2 3 4 5 6 7 8 9 A B C D E F 8 9 2 3 4 5 Reprezentacja liczb całkowitych Założenie: liczba całkowita ze znakiem jest zapisywana w słowach n-bitowych. (Dla przykładu weźmy n = 8). znak (najbardziej znaczący bit) moduł liczby (7 bitów). Liczba nieujemna jest kodowana jako: znak i kod binarny modułu tej liczby. np. liczba 55 w przykładzie powyżej. Przykład: 37.D = 3*6 + 7*6 + D*6 - Liczba ujemna jest kodowana jako: znak i kod binarny modułu tej liczby. Liczba -55 bo (2) =55 () = -55 + Sposób wygodny dla człowieka. Przy operacjach arytmetycznych trzeba porównać znaki. Reprezentacja liczby : oraz (redundancja). Zakres liczb: [-2 n- +, 2 n- - ] (2 n - liczb). Kod uzupełnień do (U) Liczba ujemna x (analogicznie przeciwna) jest kodowana na jeden z dwóch (równoważnych) sposobów: negujemy (bitowo) kod binarny modułu x albo bierzemy kod binarny liczby 2 n - +x. Sposób : liczba -55 ) Kod binarny modułu (=55): 2) Negacja bitowa: Sposób 2: liczba -55 ) Kod binarny liczby 2 8 - -55 =256-56 =2: Sposób mało wygodny dla człowieka. + Łatwe operacje arytmetyczne. Reprezentacja liczby : oraz. Zakres liczb: [-2 n- +, 2 n- - ] (2 n - liczb). Zasady dodawania Liczby zapisane w kodzie U dodajemy zgodnie z zasadami dodawania dwójkowego, ale 2 jeżeli wystąpi przeniesienie poza bit znaku, to do wyniku należy dodać. (77) + (43) (2) Bez przeniesienia (-77) + (43) (-34) Zasady dodawania Liczby zapisane w kodzie U dodajemy zgodnie z zasadami dodawania dwójkowego, ale 2 jeżeli wystąpi przeniesienie poza bit znaku, to do wyniku należy dodać. (77) + (-43) + (34) Z przeniesieniem (-77) + (-43) + (-2)

Kod uzupełnień do 2 (U2) Liczba ujemna x (analogicznie przeciwna) jest kodowana na jeden z dwóch (równoważnych) sposobów: negujemy (bitowo) kod binarny modułu x i dodajemy ; bierzemy kod binarny liczby 2 n +x. Sposób : liczba -55 ) Kod binarny modułu (=55): Sposób 2: liczba -55 ) Kod binarny liczby 2) Negacja bitowa: 2 8-55 =256-55 =2: 3) Dodanie : Sposób mało wygodny dla człowieka. + Łatwe operacje arytmetyczne. Jedna reprezentacja liczby : Zakres liczb: [-2 n-, 2 n- -] (2 n liczb). Dodawanie w kodzie U2 Dodawanie w kodzie U2 odbywa się zgodnie z zasadami dodawania dwójkowego (-77) + (43) (-34) (-77) + (-43) (-2) (77) + (-43) (34) Nadmiar (integer overflow) Nadmiar występuje wtedy, gdy wynik działania nie mieści się w dopuszczalnym zakresie liczb, które mogą być zapisane w danej reprezentacji. Nadmiar występuje tylko przypadku dodawania liczb tego samego znaku. Założenie: reprezentacja 4-bitowa bez znaku. Liczba 9 + = 2 (9) () (4) bit nadmiaru ustawiony na, przeniesienie. Liczby ułamkowe stałoprzecinkowe Liczba stałopozycyjna (n +m)-bitowa posiada n bitów przeznaczonych na część całkowitą oraz m bitów przeznaczonych na kodowanie części ułamkowej. c n n... c3c2cc. c c 2... c m = ci i= m Założenie: liczba bez znaku. Wartość największa: 2 n - + 2 -m = 2 n 2 -m Wartość najmniejsza: + 2 -m = 2 -m i p Liczby ułamkowe stałoprzecinkowe Rozkład reprezentowanych wartości: równomierny. Błąd zaokrągleń/obcięcia (rounding error, cancellation error) = moduł róznicy pomiędzy wartością dokładną liczby a wartością jej reprezentacji. błąd bezwzględny δ e < 2 -m Reprezentacja liczby. za pomocą pięciu bitów ułamkowych.. 2 =3/32 =.9375 δ e =.-.9375 =.625 =/6 (błąd bezwzględny) δ e /. =.625 =6:25%(błąd względny) Liczby zmiennoprzecinkowe przykłady W wielu zagadnieniach zapis dużych lub bardzo małych liczb w normalnej notacji pozycyjnej jest niewygodny, gdyż wymaga sporej ilości cyfr. Dlatego liczby takie zapisuje się w bardziej wygodny sposób: m e = 9.9 x -3 kg G = 6.67 x - m 3 kg - s -2 N A = 6.22 x 23 mol -

Liczby zmiennoprzecinkowe (floating-point numbers) Liczba zmiennoprzecinkowa x =(-) s m p c s znak liczby, m mantysa, p podstawa systemu, c cecha. m e = 9.9 x -3 kg G = 6.67 x - m 3 kg - s -2 N A = 6.22 x 23 mol - Normalizacja liczby zmiennoprzecinkowej Położenie przecinka w liczbie zmiennoprzecinkowej nie jest ustalone. 273.6 = 2.736 x 2 =.2736 x 3 = 2736 x -2 Znormalizowana liczba zmiennoprzecinkowa to taka liczba, której mantysa spełnia zależność: m <p W systemie dwójkowym znormalizowana liczba zmiennoprzecinkowa ma zawsze część całkowitą równą ±. Zatem, do zakodowania liczby zmiennoprzecinkowej potrzeba zakodować (przyjmujemy, ze podstawa będzie równa 2): znak, mantysę, cechę. Precyzja liczb zmiennoprzecinkowych Założenia: mantysa: 3 bity, bez znaku, liczba stałoprzecinkowa, przecinek po pierwszym bicie, cecha: 3 bity bez znaku, x.xx 2 xxx Możliwe wartości:.........25.5.75.25.5.75.5.5 2 2.5 3 3.5 2 3 4 5 6 7 2 4 6 8 2 4 4 8 2 6 2 24 28 8 6 24 32 4 48 56 6 32 48 64 8 96 2 32 64 96 28 6 92 224 Brak wielu liczb! (np. 9,, 3, 5,... ) Precyzja liczb zmiennoprzecinkowych Próba zakodowania liczby 9 9 =9 2 = 4.5 2 =2.25 2 2 =.25 2 3 =(. 2 ) 2 Ale mamy do dyspozycji tylko format: x:xx 2 xxx A zatem mantysa. zostanie obcięta do. i w ten sposób dostaniemy liczbę: (. 2 ) 2 =8 Mamy tu do czynienia z błędem zaokrąglenia. Wniosek: liczba 9 wymaga większej precyzji. Standard IEEE 754 W celu ujednolicenia reprezentacji binarnej oraz operacji numerycznych na różnych platformach sprzętowych, wprowadzono standard zapisu zmiennoprzecinkowego IEEE 754 (William Kahan). Standard ten definiuje: formaty reprezentacji liczb zmiennoprzecinkowych: single-precision (32 bity), double-precision (64bity), single-extended precision ( 43 bitów) double-extended precision ( 79 bitów, zazwyczaj 8 bitów), wartosci specjalne (np. nieskończoność, NaN), zmiennoprzecinkowe operacje, modele zaokrąglania, wyjątki.

Ogólny format w standardzie IEEE 754 Liczby pojedynczej precyzji sign(bit znaku): liczba dodatnia, liczba ujemna, exponent (cecha): kod z nadmiarem (BIAS = 2 e- - ), fraction (mantysa): liczba stałoprzecinkowa, kod U, pozbawiona najbardziej znaczącego bitu reprezentującego część całkowitą bit ten nie jest przechowywany. 3 23 bit znaku: liczba dodatnia, liczba ujemna, cecha: (BIAS =27), zakres: -26 27, mantysa: m =.fraction Typ Cecha Mantysa Znormalizowane liczby o najmniejszym module: zera liczby nieznormalizowane liczby znormalizowane nieskończoności NaN (nieokreślone) od do 2 e- 2 e - 2 e - dowolna ±2-26 ±.7549435-38 Liczby o największym module: ±(( - (/2) 24 )2 28 ) ± 3.428235 38 Liczby podwójnej precyzji 63 52 bit znaku: liczba dodatnia, liczba ujemna, cecha: (BIAS =23), zakres: -22 23, mantysa: m =.fraction Znormalizowane liczby o najmniejszym module: ±2-22 ±2.225738585722-38 Liczby o największym module: ±(+ ( 2-52) ))2 23 ±.79769334862357 38