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

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

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

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

Kodowanie liczb. Reprezentacja liczb całkowitych. Standard IEEE 754. dr inż. Jarosław Forenc

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

Pracownia Komputerowa wykład VI

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

Podstawy Informatyki

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

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

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

dr inż. Jarosław Forenc

Pracownia Komputerowa wyk ad VI

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

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

Teoretyczne Podstawy Informatyki

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

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

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

Arytmetyka stało i zmiennoprzecinkowa

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

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

Arytmetyka binarna - wykład 6

LICZBY ZMIENNOPRZECINKOWE

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

Kod U2 Opracował: Andrzej Nowak

Naturalny kod binarny (NKB)

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Metody numeryczne II. Reprezentacja liczb

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Architektura komputerów

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

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

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

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

Dodatek do Wykładu 01: Kodowanie liczb w komputerze

Zapis liczb binarnych ze znakiem

Adam Korzeniewski p Katedra Systemów Multimedialnych

Adam Korzeniewski p Katedra Systemów Multimedialnych

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

Systemy zapisu liczb.

Kodowanie informacji. Kody liczbowe

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

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

Podstawy Informatyki

Pracownia Komputerowa wykład IV

Stan wysoki (H) i stan niski (L)

Arytmetyka stałopozycyjna

Operacje arytmetyczne

Technologie Informacyjne Wykład 4

Wprowadzenie do informatyki - ć wiczenia

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

Technologie Informacyjne

Zwykle liczby rzeczywiste przedstawia się w notacji naukowej :

Ochrona danych osobowych. Pozycyjne systemy liczbowe. Jednostki informacji. Kodowanie znaków ASCII, ISO 8859, Unicode. Kodowanie liczb NKB, U2, BCD

Pozycyjny system liczbowy

Wstęp do Informatyki

Temat 4. Kodowanie liczb

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

LICZBY ZMIENNOPRZECINKOWE

Wprowadzenie do informatyki - ć wiczenia

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

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

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

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

Pracownia Komputerowa wykład V

Metoda znak-moduł (ZM)

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

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

Pracownia Komputerowa wyk ad IV

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

Kodowanie liczb całkowitych w systemach komputerowych

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

architektura komputerów w. 2

dr inż. Jarosław Forenc

Architektura komputerów

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

Dokładność obliczeń numerycznych

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

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

1.1. Pozycyjne systemy liczbowe

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

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

ARYTMETYKA KOMPUTERA

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

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

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

Wprowadzenie do informatyki - ć wiczenia

dr inż. Jarosław Forenc

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Pułapki liczb zmiennoprzecinkowych. Adam Sawicki asawicki.info

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

SYSTEMY LICZBOWE 275,538 =

METODY NUMERYCZNE. Po co wprowadzamy liczby w formacie zmiennoprzecinkowym (floating point)?

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

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

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

Cyfrowy zapis informacji

Pracownia komputerowa. Dariusz Wardecki, wyk. VI

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

Transkrypt:

Informatyka Politechnika Białostocka - Wydział lektryczny lektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 008/009 Wykład nr 4 (8.04.009)

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 /63 Plan wykładu nr 4 Reprezentacja stałoprzecinkowa operacje arytmetyczne w kodzie uzupełnień do dwóch (U) Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej arytmetyka liczb zmiennoprzecinkowych zapis liczb zmiennoprzecinkowych w systemie binarnym Standard I 754 liczby 3-bitowe i 64-bitowe zakres i precyzja liczb wartości specjalne, operacje z wartościami specjalnymi standard I 754 w języku C

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 3/63 Reprezentacja liczb ze znakiem - kod U - dodawanie Dodawanie liczb w kodzie U odbywa się standardową metodą - traktujemy liczby jako zwykłe liczby binarne (dodatnie), dodajemy je otrzymując wynik w kodzie U W operacji dodawania bierze udział takŝe bit znaku, a przeniesienie poza najstarszy bit znaku jest ignorowane Przykłady: = ( 0) + 5 7 3 ( 0) + ( 5) = ( ) + 0 0 0 0 0 0 (U) (U) (U) 5 7 + + + 0 0 0 0 (U) (U) (U) 3 ( 5) ( )

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 4/63 Reprezentacja liczb ze znakiem - kod U - dodawanie Przykłady: ( 5) + + ( 0) + ( ) = ( 7) + 0 + 0 0 0 (U) (U) (U) ( 5) ( ) ( 7) ignorujemy przeniesienie + + 4 = 0 0 0 0 0 0 0 ( 0) + 5 9 (U) (U) (U) 4 5 ( 7) nastąpiło przekroczenie zakresu dla 4-bitowych liczb w kodzie U, naleŝy zapisać liczby na 5 cyfrach dodawanie dowolnych liczb w kodzie U daje poprawny wynik zawsze wtedy, gdy mieści się on w zakresie liczb dla danego formatu + + 0 0 0 0 0 0 0 0 0 0 (U) (U) (U) 4 5 9

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 5/63 Reprezentacja liczb ze znakiem - kod U - odejmowanie Odejmowanie odbywa się według tych samych zasad jak w NKB Przy wykonywaniu operacji odejmowania uwzględniamy bity znaku, a poŝyczka spoza najstarszego bitu jest ignorowana Przykłady: 5 = ( 0) (3) ( 3) ( 0) (5) = ( 8) 0 0 0 0 0 0 0 (U) (U) (U) 5 3 0 0 0 0 0 0 (U) (U) (U) 3 8 5

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 6/63 Reprezentacja liczb ze znakiem - kod U - odejmowanie Wynik odejmowania jest poprawny jeśli mieści się w zakresie liczb dla danego formatu Przykład: 7 = ( 0) ( 3) 0 ignorujemy poŝyczkę ignorujemy poŝyczkę 0 0 0 0 (U) (U) (U) 7 ( 3) ( 6) 0 0 0 0 0 0 (U) (U) (U) 7 ( 3) 0 nastąpiło przekroczenie zakresu dla 4-bitowych liczb w kodzie U, naleŝy zapisać liczby na 5 cyfrach po zapisaniu liczb na 5 cyfrach wynik jest prawidłowy

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 7/63 Reprezentacja liczb ze znakiem - kod U - mnoŝenie MnoŜenie liczb w kodzie U wykonywane jest w inny sposób niŝ w NKB. Do praktycznych algorytmów mnoŝenia liczb w kodzie U naleŝą: algorytm Bootha algorytm Robertsona algorytm powielonego znaku Algorytm powielonego znaku: przed wykonaniem mnoŝenia naleŝy rozszerzyć znakowo obie mnoŝone liczby tak, aby ich liczba bitów wzrosła dwukrotnie (bit znaku jest powielany), np. 5 5 = 0.0 =.0 (U) (U) 5 5 = 0.000 00 =. 0 (U) (U) jeśli liczby mają róŝna długość do przyjmuje się podwójną długość dłuŝszej z nich po wykonaniu rozszerzenia znakowego liczby są mnoŝone standardowo otrzymywany wynik powinien być liczbą o długości równej sumie długości mnoŝonych liczb - bity wykraczające poza tę długość są ignorowane

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 8/63 Reprezentacja liczb ze znakiem - kod U - mnoŝenie Przykład: ( 0) 3 = 6 0 (U) rozszerzenie znakowe 0 (U) 3 00 (U) rozszerzenie znakowe 0000 00 (U) ignorujemy

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 9/63 Reprezentacja liczb ze znakiem - kod U - mnoŝenie Przykład: 5 ( 0) 9 = 45 5 9 0 (U) 000 (U) rozszerzenie znakowe rozszerzenie znakowe 0 00000 000 (U) (U)

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 0/63 Reprezentacja liczb ze znakiem - kod U - dzielenie Najprostsza metoda dzielenia w U składa się z następujących kroków: zapamiętanie znaków dzielonych liczb zamiana liczb ujemnych na dodatnie wykonanie dzielenia dla liczb naturalnych zmiana znaku wyniku, jeśli znak dzielnej i dzielnika róŝnią się Podczas dzielenia znaki wyniku i reszty przyjmują wartości przedstawione w tabeli

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 /63 Reprezentacja liczb ze znakiem - kod U - dzielenie Przykład: 6 ( 0) : ( 3) = 6 00 (U) 3 0 (U) liczba dodatnia 3 00 (U) 0-0 0 0 0 : 0 0 0 0 0 0

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 /63 Reprezentacja liczb ze znakiem - porównanie kodów Porównanie interpretacji wartości słów kodu binarnego w róŝnych systemach zapisu liczb ze znakiem

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 3/63 Zapis zmiennoprzecinkowy liczby rzeczywistej Zapis bardzo duŝych lub bardzo małych liczb w normalnej notacji pozycyjnej jest niewygodny gdyŝ wymaga duŝej ilości cyfr, np. dwanaście bilionów: 000 000 000 000 trzydzieści trylionów: 30 000 000 000 000 000 000 jedna bilionowa: 0,000 000 000 00 Znacznie prostsze jest przedstawienie powyŝszych liczb w postaci zmiennoprzecinkowej (ang. floating point numbers) 000 000 000 000 =,0 3 30 000 000 000 000 000 000 = 3,00 9 0,000 000 000 00 =,00 - PowyŜszy zapis nazywamy takŝe zapisem w postaci wykładniczej lub teŝ notacją naukową

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 4/63 Zapis zmiennoprzecinkowy liczby rzeczywistej Zapis liczby zmiennoprzecinkowej ma postać: gdzie: = M B - wartość liczby M - mantysa B - podstawa systemu - wykładnik, cecha Przykład: 3,43 0 =,43 000 = 430

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 5/63 Zapis zmiennoprzecinkowy liczby rzeczywistej Przykład:,0 0 M =,0 B = 0 () = 0 0 () (),0 0 () 0 () =? = 0 0 = 0 = 0 + + 0 + 0 =,375 5 = + + + =,375 3 = 44 3 = + 4 = 5 = + 0,5 + 0,5 =,375 3, 0 B = 0 = 3 (4) (4) 3, 0 3 (4) M = 3, (4) = 0 4 3 (4) =? 0 = 4 0 = 3 4 0 + 4 + 3 4 + 4 = 4 = 3,39065 4 + 4 4 = + = 4 + 4 3 = 90 63 968 = 3,39065

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 6/63 Zapis zmiennoprzecinkowy liczby rzeczywistej PołoŜenie przecinka w mantysie nie jest ustalone i moŝe się zmieniać PoniŜsze zapisy oznaczają tę samą liczbę 430 = 4,30 =,430 3 = 0,430 4 Dla ujednolicenia zapisu i usunięcia wielokrotnych reprezentacji tej samej liczby, przyjęto tzw. postać znormalizowaną zapisu liczby, w której mantysa spełnia nierówność: B > M Przykład:,430 3 - to jest postać znormalizowana, gdyŝ: 0 >,43 0,430 4 - to nie jest postać znormalizowana 4,30 - to nie jest postać znormalizowana

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 7/63 Zapis zmiennoprzecinkowy liczby rzeczywistej Jak zapisać liczbę w postaci zmiennoprzecinkowej? Przykład: 53,69 zapisujemy mantysę przy wykładniku równym zero 53,69 0 0 normalizujemy mantysę modyfikując wykładnik liczby,5369 0 3 dodatkowo moŝe nastąpić obcięcie (ang. truncate) albo zaokrąglenie (ang. round) mantysy do zadanej ilości cyfr, np.,53 0 3 - obcięcie: - zaokrąglenie:,53 0 3

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 8/63 Arytmetyka zmiennoprzecinkowa W arytmetyce zmiennoprzecinkowej kolejność wykonywania operacji ma wpływ na końcowy wynik arytmetyka zmiennoprzecinkowa nie jest łączna (x + y) + z x + (y + z) (x y) z x (y z) arytmetyka zmiennoprzecinkowa nie jest rozdzielna x (y + z) (x y) + (x z)

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 9/63 Arytmetyka liczb zmiennoprzecinkowych Dodawanie i odejmowanie: dodawanie i odejmowanie liczb zmiennoprzecinkowych wymaga sprowadzenia ich do wspólnego wykładnika (jest to tzw. wyrównanie wykładników liczb zmiennoprzecinkowych lub denormalizacja) denormalizacja dotyczy liczby o mniejszym wykładniku tak, aby sprowadzić obie liczby do wspólnego większego wykładnika załóŝmy, Ŝe mamy dwie liczby zmiennoprzecinkowe: = M B = M B jeśli wykładniki obu liczb są sobie równe ( = = ), to normalizacji nie trzeba przeprowadzać mantysa sumy (róŝnicy) liczb jest sumą (róŝnicą) mantys liczb, zaś wykładnik sumy (róŝnicy) jest równy wykładnikowi dodawanych (odejmowanych) liczb: ± = M B ± M B = (M ± M ) B

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 0/63 Arytmetyka liczb zmiennoprzecinkowych Arytmetyka liczb zmiennoprzecinkowych Dodawanie i odejmowanie: jeśli wykładnik pierwszej liczby jest większy od wykładnika drugiej liczby ( > ), to sumę (róŝnicę) liczb wyznaczamy ze wzoru: jeśli wykładnik drugiej liczby jest większy od wykładnika pierwszej liczby ( > ), to sumę (róŝnicę) liczb wyznaczamy ze wzoru: B ) B M (M B B B M B M B M B M ± = ± ± = ± ± = ± B ) M B (M B M B B B M B M B M ± = ± ± = ± ± = ±

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 /63 Arytmetyka liczb zmiennoprzecinkowych Przykład - dodawanie: obliczamy sumę dwóch liczb zmiennoprzecinkowych: poniewaŝ <, to stosujemy wzór: = M = M B B =,5 0 =,5 0 3 obliczenia: + = (M B + M ) B + + + + =,5 0 = (,5 0 = (,5 0 +,5 0 3 = (0,05 +,5) 0 3 +,5) 0 +,5) 0 3 3 3 =,55 0 3 otrzymany wynik jest w postaci znormalizowanej

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 /63 Arytmetyka liczb zmiennoprzecinkowych Przykład - odejmowanie: obliczamy róŝnicę dwóch liczb zmiennoprzecinkowych: poniewaŝ >, to stosujemy wzór: = M = M B B = 3,5 0 3 =,5 0 obliczenia: = (M M B ) B = 3,5 0 = (3,5,5 0 = (3,5,5 0 3,5 0 3 = (3,5 0,05) 0 ) 0 ) 0 3 3 3 = 3,475 0 3 otrzymany wynik jest w postaci znormalizowanej

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 3/63 Arytmetyka liczb zmiennoprzecinkowych MnoŜenie: iloczyn liczb i ma postać: + = (M M) B mantysa iloczynu jest iloczynem mantys, zaś wykładnik iloczynu jest sumą wykładników po wykonaniu operacji arytmetycznej mantysa wyniku jest normalizowana Dzielenie: iloraz liczb i ma postać: / = (M / M ) B mantysa ilorazu jest ilorazem mantys, zaś wykładnik ilorazu jest róŝnicą wykładników po wykonaniu operacji arytmetycznej mantysa wyniku jest normalizowana

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 4/63 Arytmetyka liczb zmiennoprzecinkowych Przykład - mnoŝenie: obliczamy iloczyn dwóch liczb zmiennoprzecinkowych: obliczenia: 3 = M B =,6 0, = M B =,3 0 + 3 = M M B =,6,3 0 = 3,68 0 otrzymany wynik jest w postaci znormalizowanej Przykład - dzielenie: obliczamy iloraz dwóch liczb zmiennoprzecinkowych: obliczenia: 3 = M B =,6 0, = M B =,3 0 3+ 4 / = (M / M ) B =,6 /,3 0 = 0,69565 0 normalizacja wyniku: 4 3 / = 0,69565 0 = 6,9565 0

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 5/63 Zapis liczb zmiennoprzecinkowych w systemie binarnym W praktycznych realizacjach zapisu liczb zmiennoprzecinkowych przyjmuje się ograniczony zakres na mantysę i cechę Z powyŝszego powodu liczba w zapisie zmiennoprzecinkowym jest określona z pewną dokładnością i moŝe występować tylko w określonym zakresie Zakodowana liczba zmiennoprzecinkowa ma postać: 3 S 4 3 6 5 8 7 0 MMMMMMMMMMMMMMMMMMMMMMM znak wykładnik mantysa

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 6/63 Zapis liczb zmiennoprzecinkowych w systemie binarnym 3 S 4 3 6 5 8 7 0 MMMMMMMMMMMMMMMMMMMMMMM znak wykładnik mantysa Wartość liczby obliczana jest ze wzoru: = ( ) M S B gdzie: - wartość liczby S - znak liczby (ang. sign), przyjmuje wartość 0 lub M - znormalizowana mantysa (ang. mantissa), liczba ułamkowa B - podstawa systemu liczbowego (ang. base) - wykładnik (ang. exponent), cecha, liczba całkowita W systemie binarnym podstawa systemu jest stała: B = = ( ) M S

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 7/63 Zakres liczb zmiennoprzecinkowych ZałóŜmy, Ŝe liczba składa się z: m - cyfr przeznaczonych na mantysę n+ - cyfr przeznaczonych na wykładnik (n - cyfr wartości i cyfry znaku) - cyfry znaku całej liczby Wartości minimalne i maksymalne: wykładnik: min = B n + max = B n mantysa: M min = M max = B B (m )

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 8/63 Zakres liczb zmiennoprzecinkowych W takim przypadku najmniejsza i największa wartość moŝliwa do zapisania w tej reprezentacji wynoszą: x x min max = M = M min max B B min max = B min = (B B (m ) ) B max Natomiast zakres liczb, które mogą być reprezentowane w danym zapisie: x max, x min { 0 } x min, x max Zero jest wartością specjalną, która nie jest bezpośrednio reprezentowana w tym zapisie Zazwyczaj istnieją takŝe inne wartości specjalne, które są reprezentowane w inny sposób, np. +, -

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 9/63 Zakres liczb zmiennoprzecinkowych Nie wszystkie liczby rzeczywiste moŝna przedstawić za pomocą zapisu zmiennoprzecinkowego x min - najmniejsza wartość moŝliwa do zapisania w danej reprezentacji x max - największa wartość moŝliwa do zapisania w danej reprezentacji Niedomiar występuje, gdy wielkość ułamkowa jest zbyt mała - zazwyczaj jest wtedy aproksymowana przez zero Jeśli wynik operacji zmiennoprzecinkowej jest większy od x max lub mniejszy od -x max to zaistniałą sytuację nazywamy błędem nadmiaru

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 30/63 Zakres liczb zmiennoprzecinkowych iczby reprezentowane w notacji zmiennoprzecinkowej nie są rozmieszczone równomiernie na osi liczb jak liczby stałopozycyjne MoŜliwe wartości są rozłoŝone gęściej na początku osi, a rzadziej w miarę oddalania się od początku Wiele wyników obliczeń musi być zatem zaokrąglana do najbliŝszych wartości moŝliwych do reprezentowania

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 3/63 Zakres liczb zmiennoprzecinkowych Przykład - liczba 3-bitowa: min = B n + = 7 + = 7 max = B n = 7 = 7 x min = B min = 7 = 5,88 0 39 x max = (B B (m ) ) B max = ( (3 ) ) 7 = 8 05 = 3,4 0 38 39 38 { 0 } 5,88 0, 3,4 0 38 39 3,4 0, 5,88 0

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 3/63 iczby zmiennoprzecinkowe - przesunięcie wykładnika W celu uniknięcia konieczności kodowania znaku wykładnika jest on zapisywany jako wartość przesunięta o pewną stałą (ang. biased exponent) - zapis wykładnika z nadmiarem, z przesuniętym wykładnikiem Właściwą wartość wykładnika otrzymuje się poprzez odjęcie od zakodowanego wykładnika wartości przesunięcia (ang. bias) Wartość liczby zmiennoprzecinkowej oblicza się zatem ze wzoru: gdzie: = ( ) S M BIAS - wartość liczby S - znak liczby M - mantysa - wykładnik BIAS - przesunięcie (nadmiar) Typowe wartości przesunięcia wynoszą: dla formatu 3-bitowego: 7 - = 7 = 7F (6) dla formatu 64-bitowego: 0 - = 03 = 3FF (6) dla formatu 80-bitowego: 4 - = 6383 = 3FFF (6)

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 33/63 Standard I 754 W celu ujednolicenia operacji na liczbach zmiennoprzecinkowych na róŝnych platformach sprzętowych opracowano standard I 754 Pełna nazwa standardu to: I Standard for Binary Floating-Point Arithmetic (ANSI/I Std 754-985) najnowsza wersja standardu: I 754-008 Standard for Floating-Point Arithmetic I 854-987 - standard niezaleŝny od bazy, obejmuje arytmetykę dwójkową i dziesiętną, nie precyzuje dokładnie przyporządkowania poszczególnych bitów ani sposobu kodowania liczb zmiennoprzecinkowych Obecnie praktycznie wszystkie implementacje sprzętowe liczb zmiennoprzecinkowych oparte są o ten standard Standard I 754 wymaga, aby liczba była przechowywana na trzech polach bitowych: znaku (S), mantysy (M) i przesuniętego wykładnika () W takim przypadku wartość liczby wyznaczana jest ze znanego wzoru: = ( ) S M BIAS

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 34/63 Standard I 754 Standard I 754 definiuje następujące klasy liczb zmiennoprzecinkowych: Precyzja Długość słowa [bity] Znak [bity] Długość [bity] Wykładnik Zakres Długość [bity] Mantysa Cyfry znaczące Pojedyncza (ang. single) 3 8 ±7 0 ±38 3 7 Pojedyncza rozszerzona (ang. single extended) 43 ±03 0 ±308 3 0 Podwójna (ang. double) 64 ±03 0 ±308 5 6 Podwójna rozszerzona (ang. double extended) 79 5 ±6383 0 ±493 63 9 źródło: Gryś S.: Arytmetyka komputerów w praktyce. PWN, Warszawa, 007 (str. 6).

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 35/63 Standard I 754 W przypadku liczb: pojedynczej rozszerzonej precyzji (ang. single extended precision) podwójnej rozszerzonej precyzji (ang. double extended precision) standard podaje jedynie minimalną liczbę bitów pozostawiając szczegóły implementacji producentom procesorów i kompilatorów Bardzo popularny jest 80-bitowy format podwójnej rozszerzonej precyzji wprowadzony przez firmę Intel W 80-bitowym formacie Intela: długość słowa: 80 bitów znak: bit wykładnik: 5 bitów (zakres: ±6383 0 ±493 ) mantysa: 63+ bit (cyfry znaczące: 9)

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 36/63 Standard I 754 - precyzja liczb iczba bitów wykładnika decyduje o zakresie liczb, które moŝna wyraŝać w danym formacie, natomiast liczba bitów mantysy decyduje o precyzji liczb Jako precyzję naleŝy rozumieć liczbę zapamiętywanych cyfr znaczących w systemie dziesiętnym: w systemie o podstawie p uŝywając n cyfr moŝna wyrazić p n róŝnych wartości w celu określenia liczby bitów potrzebnych do zakodowania cyfry dziesiętnej wystarczy rozwiązać równanie: n 0 = n = log do wyznaczenia liczby cyfr dziesiętnych (d), które moŝna zakodować na m bitach stosujemy prostą proporcję: cyfra dziesiętna - log bitów d cyfr dziesiętnych - m bitów stąd: d = log m

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 37/63 Standard I 754 - precyzja liczb Dla formatu pojedynczej precyzji: mantysa: 3 + = 4 bity cyfry znaczące: 7 d = 4 log = 4 3,398 = 7,47 7 Dla formatu podwójnej precyzji: mantysa: 5 + = 53 bity cyfry znaczące: 6 d = 53 log = 53 3,398 = 5,9546 6 Dla formatu podwójnej rozszerzonej precyzji: mantysa: 63 + = 64 bity cyfry znaczące: 9 d = 64 log = 64 3,398 = 9,659 9

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 38/63 Standard I 754 - precyzja liczb #include <stdio.h> #include <conio.h> int main() { float x; double y; float -> 34567936.000000 double -> 34567890.000000 double -> 3456789034567000.000000 x = 34567890.0; /*.34.567.890 */ y = 34567890.0; /*.34.567.890 */ printf("float -> %f\n",x); printf("double -> %f\n\n",y); y = 3456789034567890.0; printf("double -> %f\n",y); } getch(); return 0;

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 39/63 Standard I 754 Standard I 754 definiuje takŝe trzy formaty stałoprzecinkowe dwójkowe i jeden stałoprzecinkowy format dziesiętny BCD: 6-bitowy format całkowity (ang. short integer) 3-bitowy format całkowity (ang. integer) 64-bitowy format całkowity (ang. extended integer) 80-bitowy format dziesiętny BCD (kodowanie 8-cyfrowej liczby całkowitej dziesiętnej oraz znaku na najbardziej znaczącej pozycji) Standard I 754 definiuje nie tylko sposób reprezentacji liczb, ale takŝe: sposób reprezentacji specjalnych wartości, np. nieskończoności, zera sposób wykonywania działań na liczbach zmiennoprzecinkowych sposób zaokrąglania liczb

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 40/63 Standard I 754 - liczby 3-bitowe iczba pojedynczej precyzji przechowywana jest na 3 bitach: Pierwszy bit w zapisie (bit nr 3) jest bitem znaku (0 - liczba dodatnia, - liczba ujemna) Wykładnik zapisywany jest na 8 bitach (bity nr 30-3) z nadmiarem (przesunięciem wykładnika) o wartości 7 Wykładnik moŝe przyjmować wartości od -7 (wszystkie bity wyzerowane) do 8 (wszystkie bity ustawione na )

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 4/63 Standard I 754 - liczby 3-bitowe iczba pojedynczej precyzji przechowywana jest na 3 bitach: Mantysa zapisywana jest na 3 bitach w stałoprzecinkowym kodzie U W większości przypadków mantysa jest znormalizowana Wartość mantysy zawiera się pomiędzy a, a zatem w zapisie liczby pierwszy bit jest zawsze równy PowyŜszy bit nie jest zapamiętywany, natomiast jest automatycznie uwzględniany podczas wykonywania obliczeń (bit ukryty, hidden bit) Dzięki pominięciu tego bitu zyskujemy dodatkowy bit mantysy (zamiast 3 bitów mamy 4 bity)

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 4/63 Standard I 754 - liczby 3-bitowe Przykład: obliczmy wartość dziesiętną liczby zmiennoprzecinkowej 000000000000000000000000000 ( =? dzielimy liczbę na części I754) 0{ 00000 443 000000000000000000000 44444 444443 S bit znaku wykladnik M mantysa (tylko czesc ulamkowa) określamy znak liczby S = 0 liczba dodatnia obliczamy wykładnik pamiętając, Ŝe w reprezentacji 3-bitowej nadmiar wynosi 7 = 00000 = ( ) = 8 + 4 + = 33 7 { 6 nadmiar

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 43/63 Standard I 754 - liczby 3-bitowe Przykład (cd.): wyznaczamy mantysę dopisując na początku 0 (0 - znak liczby w kodzie U, - część całkowita) i stawiając przecinek M = 0,000000000000000000000 = 0 + + 4 (U) = = + 0,5 + 0,065 =,565 wartość dziesiętną liczby zmiennoprzecinkowej obliczamy według wzoru: = ( ) S M podstawiając otrzymujemy: S = 0, = 6 = 0 6 = ( ),565 = ( 0), M, 565 00 000000000000000000000000000 ( = 00 I754)

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 44/63 Standard I 754 - liczby 3-bitowe Przykład: obliczmy wartość dziesiętną liczby zmiennoprzecinkowej 000000000000000000000000 ( =? dzielimy liczbę na części I754) { 0000 443 00000000000000000000 44444 444443 S bit znaku wykladnik M mantysa (tylko czesc ulamkowa) określamy znak liczby S = liczba ujemna obliczamy wykładnik pamiętając, Ŝe w reprezentacji 3-bitowej nadmiar wynosi 7 = 0000 = ( ) = 8 + 4 + + = 35 7 { 8 nadmiar

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 45/63 Standard I 754 - liczby 3-bitowe Przykład (cd.): wyznaczamy mantysę dopisując na początku 0 (0 - znak liczby w kodzie U, - część całkowita) i stawiając przecinek M = 0,00000000000000000000 = 0 + + + 4 (U) = = + 0,5 + 0,5 + 0,065 =,85 wartość dziesiętną liczby zmiennoprzecinkowej obliczamy według wzoru: = ( ) S M podstawiając otrzymujemy: S = 0, = 8 = = ( ),85 ( 0), M, 85 8 = 464 000000000000000000000000 ( = 464 I754)

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 46/63 Standard I 754 - liczby 64-bitowe iczba podwójnej precyzji przechowywana jest na 64 bitach: Pierwszy bit w zapisie (bit nr 63) jest bitem znaku (0 - liczba dodatnia, - liczba ujemna) Wykładnik zapisywany jest na bitach (bity nr 6-5) z nadmiarem (przesunięciem wykładnika) o wartości 04 Wykładnik moŝe przyjmować wartości od -03 (wszystkie bity wyzerowane) do 04 (wszystkie bity ustawione na ) Mantysa zapisywana jest na 5 bitach w stałoprzecinkowym kodzie U Podobnie jak w liczbie pojedynczej precyzji, pierwszy bit mantysy, zawsze równy, nie jest zapamiętywany

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 47/63 Standard I 754 - zakres liczb Pojedyncza precyzja: największa wartość: 3,4 0 38 najmniejsza wartość:,4 0-45 zakres liczb: <-3,4 0 38... -,4 0-45 > {0} <,4 0-45... 3,4 0 38 > Podwójna precyzja: największa wartość:,8 0 308 najmniejsza wartość: 4,9 0-34 zakres liczb: <-,8 0 308... -4,9 0-34 > {0} <4,9 0-34...,8 0 308 > Podwójna rozszerzona precyzja: największa wartość:, 0 493 najmniejsza wartość: 3,6 0-495 zakres liczb: <-, 0 493... -3,6 0-495 > {0} <3,6 0-495..., 0 493 >

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 48/63 Standard I 754 - wartości specjalne Oprócz zwykłych liczb w standardzie I 754 zdefiniowano kilka wartości specjalnych: zero nieskończoność liczba zdenormalizowana nieliczby Kodowanie wartości specjalnych jest moŝliwe dzięki zastosowaniu przesunięcia wykładnika Pozwala to wyłączyć wartości graniczne (np. 00h i FFh) i zarezerwować je do kodowania wartości specjalnych Zapis z przesunięciem wykładnika jest monotoniczny (czego nie ma w kodach Z-M i U), np. NKB z przesunięciem: - 7h 0 7Fh + 80h Z-M: - 8h 0 00h/80h + 0h U: - FFh 0 00h + 0h

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 49/63 Standard I 754 - wartości specjalne Zero bit znaku moŝe przyjmować dowolną wartość, a zatem moŝna otrzymać zero dodatnie lub zero ujemne - zero dodatnie - zero ujemne wszystkie bity wykładnika i mantysy są równe zeru przy porównaniach zero dodatnie i ujemne są traktowane jako równe sobie

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 50/63 Standard I 754 - wartości specjalne Nieskończoność bit znaku określa czy mamy nieskończoność dodatnią czy ujemną - nieskończoność dodatnia - nieskończoność ujemna wszystkie bity wykładnika są równe jeden, zaś wszystkie bity mantysy - zero nieskończoność występuje w przypadku wystąpienia nadmiaru (przepełnienia) oraz przy dzieleniu przez zero (w tym równieŝ: /0 = )

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 5/63 Standard I 754 - wartości specjalne iczba zdenormalizowana 0 0 0 0... 0 0 0 x x x x x x... x x x x x x znak wykładnik mantysa 0 0 0... 0 0 0 x x x x x x... x x x x x x znak wykładnik mantysa bit znaku moŝe być równy zero lub jeden, wszystkie bity wykładnika są równe zeru, zaś bity mantysy przyjmują dowolne wartości pojawia się, gdy występuje niedomiar (ang. underflow), ale wynik operacji moŝna jeszcze zapisać denormalizując mantysę w takim przypadku mantysa nie posiada domyślnej części całkowitej równej, tzn. reprezentuje liczbę o postaci 0,xxx xxx, a nie,xxx xxx

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 5/63 Standard I 754 - wartości specjalne Nieliczby w standardzie I 754 zdefiniowane są dwie specjalne wartości, które nie reprezentują wartości liczbowej wartości te nazywane są NaN (ang. Not A Number - nie liczba) powstają zazwyczaj w wyniku niedozwolonej operacji, np. (obliczanie pierwiastka z liczby ujemnej, dzielenie zera przez zero) wyróŝnia się dwa rodzaje nieliczb: QNaN i SNaN QNaN (ang. Quiet NaN) - ciche nieliczby x... x x x x x... x x x x x x znak wykładnik mantysa ciche nieliczby przechodzą przez działania arytmetyczne, tzn. ich wystąpienie nie powoduje wyjątku (przerwania wykonywania programu) najczęściej oznaczają wartość niezdefiniowaną

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 53/63 Standard I 754 - wartości specjalne Nieliczby (cd.) SNaN (ang. Signaling NaN) - sygnalizujące, istotne, głośne nieliczby x... 0 x x x x x... x x x x x x znak wykładnik mantysa powodują powstanie wyjątków w operacjach arytmetycznych i przerwanie obliczeń najczęściej oznaczają wartość niedozwoloną

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 54/63 Standard I 754 - operacje z wartościami specjalnymi Standard I 754 definiuje dokładnie wyniki operacji, w których występują specjalne argumenty

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 55/63 Język C - operacje z wartościami specjalnymi #include <stdio.h> #include <stdlib.h> #include <math.h> int main() { printf(".0/0.0 = %f\n",.0/0.0); printf("-.0/0.0 = %f\n",-.0/0.0); printf("0.0/0.0 = %f\n",0.0/0.0); printf("sqrt(-.0) = %f\n",sqrt(-.0)); printf(".0/inf = %f\n",.0/(.0/0.0)); printf("0*inf = %f\n",0.0*(.0/0.0));.0/0.0 =.#INF00 -.0/0.0 = -.#INF00 0.0/0.0 = -.#IND00 sqrt(-.0) = -.#IND00.0/INF = 0.000000 0*INF = -.#IND00 } system("pause"); return 0;

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 56/63 Standard I 754 - sytuacje wyjątkowe Standard I 754 definiuje pięć typów sytuacji wyjątkowych, które powinny być wykryte i sygnalizowane: niepoprawna operacja (invalid operation) - operacja, której argumentem jest SNaN - dodawanie lub odejmowanie typu (+ ) + (- ) - mnoŝenie lub dzielenie: 0, 0/0, / - reszta z dzielenia x/y, gdy x = lub y = 0 - pierwiastek kwadratowy z x, gdy x < 0 dzielenie przez zero (division by zero) nadmiar (overflow) niedomiar (underflow) niedokładność (inexact) - wynik operacji nie moŝe być precyzyjnie wyraŝony w przyjętym formacie docelowym bez utraty dokładności

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 57/63 Język C - reprezentacja liczb zmiennoprzecinkowych Typy zmiennoprzecinkowe w języku C: Nazwa typu Rozmiar (bajty) Zakres wartości Cyfry znaczące float 4 bajty -3,4 0 38 3,4 0 38 7-8 double 8 bajtów -,8 0 308,8 0 308 5-6 long double bajtów PowyŜsze rozmiary podane zostały dla kompilatora Dev-C++ Typ long double moŝe mieć takŝe inny rozmiar: Kompilator MS Visual C++6.0 Borland C++ 3. Borland C++ Builder 6 Dev-C++ Rozmiar (bajty) 8 bajtów 0 bajtów 0 bajtów bajtów

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 58/63 Koniec wykładu nr 4 Dziękuj kuję za uwagę!

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 59/63 Źródła a (KsiąŜ ąŝki): Biernat J.: Architektura komputerów. Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław, 005. Rozdz. 4..3. Reprezentacja liczb rzeczywistych - typy ciągłe (str. 75-76) Rozdz. 4..4. Standard zmiennoprzecinkowy I 754 (str. 77-78) Rozdz. 5.3. Arytmetyka zmiennoprzecinkowa (str. 95-00) Biernat J.: Metody i układy arytmetyki komputerowej. Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław, 00. Rozdz..6. Reprezentacje zmiennoprzecinkowe (str. 33-38) Rozdz. 3.6. Działania zmiennoprzecinkowe (str. 57-6) Dodatek D. Standardy zmiennoprzecinkowe I 754/854 (str. 55-6) Gryś S.: Arytmetyka komputerów w praktyce. PWN, Warszawa, 007. Rozdz. 3.. Działania na liczbach ze znakiem (str. 9-) Rozdz. 4.. Zalecenia normy I 754 (str. 5-3) Rozdz. 5. Działania arytmetyczne na liczbach zmiennopozycyjnych (str. 7-44) Kalisz J.: Podstawy elektroniki cyfrowej. Wydawnictwa Komunikacji i Łączności, Warszawa, 00. Rozdz...7. Zmiennoprzecinkowa reprezentacja liczb (str. 44-48) Rozdz. 3.. Działania arytmetyczne na liczbach dwójkowych ze znakiem (str. 66-73) Rozdz. 3.4. Działania arytmetyczne na liczbach zmiennoprzecinkowych (str. 75-76) Kincaid D., Cheney W.: Analiza numeryczna. WNT, Warszawa, 006. Rozdz... Arytmetyka zmiennopozycyjna (str. 33-44)

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 60/63 Źródła a (KsiąŜ ąŝki): Ogrodzki J.: Wstęp do systemów komputerowych. Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa, 005. Rozdz. 3... Dodawanie w kodzie U (str. 5-53) Rozdz. 3..3. Zmiana znaku liczby na przeciwny w kodzie U (str. 53-54) Rozdz. 3..4. Odejmowanie w kodzie U (str. 54-55) Rozdz. 3..5. MnoŜenie w kodzie U (str. 55-58) Pochopień B., Stańczyk U.: Arytmetyka systemów cyfrowych w zadaniach. Wydawnictwo Politechniki Śląskiej, Gliwice, 006. Rozdz. 3. Arytmetyka zmiennoprzecinkowa (str. 8-87) Pochopień B.: Arytmetyka systemów cyfrowych. Wydawnictwo Politechniki Śląskiej, Gliwice, 000. Rozdz..3. Format zmiennoprzecinkowy (str. 63-66) Rozdz. 5. Arytmetyka liczb zmiennoprzecinkowych (str. 7-5) Stallings W.: Organizacja i architektura systemu komputerowego. Projektowanie systemu a jego wydajność. WNT, Warszawa, 004. Rozdz. 8.4. Reprezentacja zmiennopozycyjna (str. 34-349) Rozdz. 8.5. Arytmetyka zmiennopozycyjna (str. 349-359)

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 6/63 Źródła a (KsiąŜ ąŝki): Tanenbaum A.: Strukturalna organizacja systemów komputerowych. Helion, Gliwice, 006. Dodatek A.4. Ujemne liczby dwójkowe (str. 735-737) Dodatek B.. Zasady arytmetyki zmiennopozycyjnej (str. 74-745) Dodatek B.. Standard arytmetyki zmiennopozycyjnej I-754 (str. 745-748) Wojtuszkiewicz K.: Urządzenia techniki komputerowej. Część. Jak działa komputer?. PWN, Warszawa, 007. Rozdz.... Zapis liczb ze znakiem (str. 49-5)

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 6/63 Źródła a (Internet): http://pl.wikipedia.org/wiki/kod_uzupełnień_do_dwóch - Kod U http://edu.i-lo.tarnow.pl/inf/alg/006_bin/005.php - Binarne kodowanie liczb. Kodowanie liczb ze znakiem, J. Wałaszek, I O w Tarnowie http://pl.wikipedia.org/wiki/iczba_zmiennoprzecinkowa - iczba zmiennoprzecinkowa http://edu.i-lo.tarnow.pl/inf/alg/006_bin/0008.php - Binarne kodowanie liczb. Zapis zmiennoprzecinkowy, J. Wałaszek, I O w Tarnowie http://wazniak.mimuw.edu.pl/index.php?title=mn03 - Metody numeryczne. MN03 - Arytmetyka zmiennoprzecinkowa http://pl.wikipedia.org/wiki/i_754 - standard I 754 http://edu.i-lo.tarnow.pl/inf/alg/006_bin/00.php - Binarne kodowanie liczb. Standard I 754, J. Wałaszek, I O w Tarnowie

Informatyka, studia stacjonarne I stopnia Rok akademicki 008/009, Wykład nr 4 63/63 Źródła a (Internet): http://en.wikipedia.org/wiki/signed_number_representations - Signed numer represantions http://en.wikipedia.org/wiki/two's_complement - Two s complement http://en.wikipedia.org/wiki/floating_point - Floating point http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=460935 - I 754-008 Standard for Floating- Point Arithmetic http://en.wikipedia.org/wiki/i_754-008 - I 754 (008) http://en.wikipedia.org/wiki/i_754-985 - I 754 (985) http://en.wikipedia.org/wiki/significant_digits - Significant digits http://www.validlab.com/goldberg/paper.pdf - What very Computer Scientist Should Know About Floating-Point Arithmetic, David Goldberg, published in the March, 99 issue of Computing Surveys