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

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

Podstawy Informatyki

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

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

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

Pracownia Komputerowa wykład VI

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

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

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

Technologie Informacyjne Wykład 4

Architektura komputerów

LICZBY ZMIENNOPRZECINKOWE

Technologie Informacyjne

Arytmetyka stało i zmiennoprzecinkowa

Pozycyjny system liczbowy

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

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

Teoretyczne Podstawy Informatyki

Pracownia Komputerowa wyk ad VI

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

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

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

LICZBY ZMIENNOPRZECINKOWE

Dokładność obliczeń numerycznych

Obliczenia Naukowe. O arytmetyce komputerów, Czyli jak nie dać się zaskoczyć. Bartek Wilczyński 29.

Adam Korzeniewski p Katedra Systemów Multimedialnych

Adam Korzeniewski p Katedra Systemów Multimedialnych

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

Arytmetyka binarna - wykład 6

Pracownia komputerowa. Dariusz Wardecki, wyk. VI

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

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

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

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

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Kodowanie liczb całkowitych w systemach komputerowych

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

Zwykle liczby rzeczywiste przedstawia się w notacji naukowej :

Architektura komputerów

Liczby zmiennoprzecinkowe i błędy

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

Zapis liczb binarnych ze znakiem

Dodatek do Wykładu 01: Kodowanie liczb w komputerze

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

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

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

Naturalny kod binarny (NKB)

Metody numeryczne II. Reprezentacja liczb

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

BŁĘDY OBLICZEŃ NUMERYCZNYCH

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

Metody numeryczne. Janusz Szwabiński. nm_slides.tex Metody numeryczne Janusz Szwabiński 2/10/ :02 p.

EMN. dr Wojtek Palubicki

Wprowadzenie do metod numerycznych. Krzysztof Patan

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

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:

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

Metody numeryczne I. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61

Wprowadzenie do informatyki - ć wiczenia

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

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

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

Zapis zmiennopozycyjny, arytmetyka, błędy numeryczne

Metoda znak-moduł (ZM)

architektura komputerów w. 2

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

Pracownia Komputerowa wykład IV

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

dr inż. Jarosław Forenc

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

Arytmetyka komputerów

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

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

Wstęp doinformatyki. Systemy liczbowe i arytmetyka komputerów. System dziesiętny. Inne systemy. System dwójkowy

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

Wprowadzenie do informatyki - ć wiczenia

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

Architektura komputerów

Wymagania edukacyjne. Hasło z podstawy programowej 1. Liczby naturalne 1 Liczby naturalne, cechy podzielności. Liczba godzin

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Kodowanie informacji. Kody liczbowe

Wstęp do Informatyki

Architektura systemów komputerowych

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

Podstawy Informatyki

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

Pracownia Komputerowa wykład V

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

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

Kod U2 Opracował: Andrzej Nowak

Pracownia Komputerowa wyk ad IV

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

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

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

METODY NUMERYCZNE. Wykład 2. Analiza błędów w metodach numerycznych. Met.Numer. wykład 2 1

1.1. Pozycyjne systemy liczbowe

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

Arytmetyka zmiennoprzecinkowa wer. 5

Wprowadzenie do informatyki - ć wiczenia

Transkrypt:

Kod IEEE754 IEEE Institute of Electrical and Electronics Engineers IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci (-1) s 1.f 2 e 127 zapisuje się na 32-bitach następująco: s e f znak 1 bit wykładnik 8 bitów mantysa 23 bity

IEEE754 c.d. (-1) s 1.f 2 e 127 Mantysa zapisywana jest bez wiodącej cyfry 1, co pozwala oszczędzić miejsce Wykładnik zapisany jest w formie przesuniętej, tj. zwiększony o 127, co pozwala na uniknięcie liczb ujemnych jego zapisie. 110000001010000...000 b = 1 1.01 b 2 129 127 = 1.01 b 2 2 = 5 001100001000000...000 b = +1 1.0 b 2 96 127 = 1 2 31 4.65e 10

Dec IEEE754 7.25 111.01 b 1.1101 b 2 2 1 10000001 11010000000000000000000

Ograniczenia zapisu zmiennopozycyjnego Ograniczenie zakresu: skończona długość pola wykładnika -R max -R min 0 R min R max IEEE754 single precision (32 bity) R min 1.2e 38 R max 3.4e+38

Ograniczenia zapisu zmiennopozycyjnego Ograniczenie dokładności: skończona długość pola mantysy 0 R max 1.f*2 k 1.f*2 k+1 1.f*2 k+1 1.f*2 k+2 1.f*2 k+3 Zapisać można tylko niektóre liczby wymierne. Zagęszczenie liczb jest zmienne i zależy od wartości wykładnika. W każdym przedziale pomiędzy 2 i i 2 i+1 znajduje się tyle równomiernie rozłożonych liczb, na ile kombinacji pozwala długość pola mantysy. Dla liczb bliskich R min dokładność jest największa, ale zakres najmniejszy, dla liczb bliskich R max najmniejsza, a zakres największy.

Liczby całkowite vs zmiennopozycyjne Za pomocą n-bitów można zapisać dokładnie 2 n różnych liczb całkowitych (NKB, U2) 2 n liczb NKB 0 1 2 3... I max =2 n -1 Za pomocą n-bitów można zapisać mniej niż 2 n różnych liczb wymiernych (IEEE754) -R max -R min 0 R min R max Z n-bitów można utworzyć 2 n różnych kombinacji binarnych. Znaczenie tych kombinacji zależy od interpretacji. W przypadku zapisu zmiennopozycyjnego, dostępne wartości są jedynie inaczej rozłożone na osi liczbowej, ale jest ich niemal tyle samo co liczb całkowitych.

Single vs Double Precision IEEE754 Single Precision: 32 bity 8b wykładnik + 23b mantysa R min 10-38 R max 10 +38 dokładność około 7 cyfr znaczących Double Precision: 64 bity 11b wykładnik + 52b mantysa R min 10-308 R max 10 +308 dokładność około 16 cyfr znaczących

Arytmetyka liczb zmiennopozycyjnych Dla zapisu zmiennopozycyjnego IEEE754: 1. Niemożliwe jest zapisanie wszystkich liczb z dostępnego zakresu. 2. Działania arytmetyczne (+,-,*,/) dają wyniki obarczone błędem przybliżenia. 3. Błąd zakresu (niedomiar lub przepełnienie) jest sygnalizowany kodem specjalnym IEEE754 4. Błąd przybliżenia nie jest sygnalizowany. 5. Operacje arytmetyczne wymagają skomplikowanych algorytmów.

Kody specjalne IEEE754 znak wykładnik mantysa liczba dodatnia 0 1-254 mantysa liczba ujemna 1 1-254 mantysa liczba zero+ (0+) 0 0 0 liczba zero- (0-) 1 0 0 liczba zdenormalizowana 0/1 0 mantysa +nieskończoność 0 255 0 -nieskończoność 1 255 0 NaN (Not a Number) 0/1 255 0 (kod błędu)

Dodawanie liczb zmiennopozycyjnych (fp) x = x S 2 x E y = y S 2 y E z = x + y z = 2 START sprowadź liczby do wspólnego wykładnika (denormalizacja liczby mniejszej) dodaj mantysy obu liczb ( =x S +y S ) znormalizuj wynik zaokrąglij wynik Przepełnienie wykładnika lub mantysy? Niedomiar wykładnika lub mantysy? START

Sprowadzanie do wspólnego wykładnika - denormalizacja 1. 000000 2 +4 + 1. 000000 2-4 1. 000000 2 +4 + 0. 000000 01 2 +4 Denormalizacja: przesunięcie mantysy w prawo + zwiększanie wykładnika! W przypadku dodawania liczb znacznie różniących się wartością wykładnika liczba mniejsza jest tracona (nie ma wpływu na wynik dodawania)

START Algorytm dodawania T x=0 N z y x E x S +y S (signed) y=0 =0 normalizacja z x x E y E z 0 przepełnienie niedomiar x E x E +1 x S x S >>1 y E >x E y E y E +1 y S y S >>1 y S 0 >>1 +1 przepełnienie <<1-1 niedomiar x S 0 z y z x exception 0 exception zaokrąglij STOP

Zaokrąglanie mantysy zaokrąglanie w górę =... 00 1..01 =... 01 zaokrąglanie w dół =... 00 0..01 =... 00 zaokrąglanie do najbliższej parzystej =... 00 100.. =... 01 100.. =... 00 =... 10 Rejestry do wykonywania działań na mantysach muszą być dłuższe od docelowego rozmiaru mantysy Przyjęte reguły zaokrąglania umożliwiają otrzymywanie deterministycznych (powtarzalnych) wyników.

Dodawanie - Hardware

Algorytm mnożenia START x = x S 2 x E x E + y E T x=0 N - bias y = y S 2 y E y=0 przepełnienie z = x S y S 2 x E +y E z 0 exception niedomiar 0 exception x S y S normalizuj z zaokrąglij STOP

Algorytm dzielenia START x = x S 2 x E x E - y E T x=0 N + bias y = y S 2 y E y=0 przepełnienie z = x S /y S 2 x E y E z 0 z exception niedomiar 0 exception x S / y S normalizuj z zaokrąglij STOP