Čísla v plovoucířádovéčárce. INP 2008 FIT VUT v Brně



Podobné dokumenty
Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly

Architektury počítačů

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Struktura a architektura počítačů (BI-SAP) 6

v aritmetické jednotce počíta

Principy počítačů I Reprezentace dat

3 Jednoduché datové typy Interpretace čísel v paměti počítače Problémy s matematickými operacemi 5

E. Pohyblivářádováčárka

Čísla a číselné soustavy.

Datové typy a jejich reprezentace v počítači.

Aplikovaná numerická matematika

Aritmetické operace a obvody pro jejich realizaci

Fz =a z + a z +...+a z +a z =

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Mikroprocesorová technika (BMPT)

1. Chyby vstupních dat metody převedení úlohy na numerickou (řád použité metody) zaokrouhlovací reprezentace čísel v počítači

Y36SAP - aritmetika. Osnova

Úloha 1 Spojte binární obrazy na obrázku s hodnotami, které reprezentují.

Floating Point. Jak je reprezentovaný a proč někdy nefunguje. 2. června 2013

Pohyblivářádováčárka

PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných

PB002 Základy informačních technologií

3. Reálná čísla. většinou racionálních čísel. V analytických úvahách, které praktickým výpočtům

Číselné soustavy. Binární číselná soustava

Y36SAP. Osnova. Číselné soustavy a kódy, převody, aritmetické operace Y36SAP Poziční číselné soustavy a převody.

Struktura a architektura počítačů (BI-SAP) 5

C2115 Praktický úvod do superpočítání

Pokročilá algoritmizace amortizovaná složitost, Fibonacciho halda, počítačová aritmetika

Algoritmy a datové struktury

Počítání s neúplnými čísly 1

Principy počítačů a operačních systémů

Informatika Datové formáty

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Úvod do teorie měření. Eva Hejnová

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

REPREZENTACE DAT. Principy počítačů I. Literatura. Literály. Typy dat. Literály. Čísla Instrukce. Znaky. Logické hodnoty

Čísla a aritmetika. Řádová čárka = místo, které odděluje celou část čísla od zlomkové.

Reprezentace dat. INP 2008 FIT VUT v Brně

Funkce, které jsme až dosud probírali, se souhrnně nazývají elementární funkce. Elementární snad proto, že jsou takové hladké, žádný nečekaný zlom.

POČET PLATNÝCH ČÍSLIC PRAVIDLA PRO UVÁDĚNÍ VÝSLEDKŮ MĚŘENÍ 2

Racionální čísla, operátory, výrazy, knihovní funkce

Úvod do teorie měření. Eva Hejnová

Úvod do teorie měření. Eva Hejnová

Exponent. Integer 4 bajty až Double Integer 8 bajtů až

Variace. Mocniny a odmocniny

Úvod do problematiky numerických metod. Numerické metody. Ústav matematiky. 6. února 2006

VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů

Racionální čísla, operátory, výrazy, knihovní funkce

Dělení. INP 2008 FIT VUT v Brně

Operace v FP a iterační algoritmy. INP 2008 FIT VUT v Brně

ZŠ ÚnO, Bratří Čapků 1332

1. 1 P Ř I R O Z E N Á Č Í S L A

35POS 2010 Počítačové systémy 1 Úvod, jazyk C Doc. Ing. Bayer Jiří, Csc. Ing. Pavel Píša

Podíl dvou čísel nazýváme číslo racionální, která vyjadřujeme ve tvaru zlomku.

Převody mezi číselnými soustavami

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy:

Číselné soustavy a převody mezi nimi

Zavedení a vlastnosti reálných čísel

Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru

Kódováni dat. Kódy používané pro strojové operace

. je zlomkem. Ten je smysluplný pro jakýkoli jmenovatel různý od nuly. Musí tedy platit = 0

VY_32_INOVACE_CTE_2.MA_04_Aritmetické operace v binární soustavě Střední odborná škola a Střední odborné učiliště, Dubno Ing.

Posouzení přesnosti měření

Dělení. Demonstrační cvičení 8 INP

Čísla v počítači Výpočetní technika I

Čísla, reprezentace, zjednodušené výpočty

Přednáška 2: Čísla v počítači. Práce s počítačem. Číselné soustavy. Převody mezi soustavami. Aritmetické operace. Uložení čísel v paměti počítače

1. Pojem celé číslo. 2. Zobrazení celých čísel. Číselná osa :

2 Ukládání dat do paměti počítače

Dosud jsme se zabývali pouze soustavami lineárních rovnic s reálnými koeficienty.

Hledání kořenů rovnic jedné reálné proměnné metoda půlení intervalů Michal Čihák 23. října 2012

Struktura a architektura počítačů

SIGNÁLY A LINEÁRNÍ SYSTÉMY

UNIVERZITA PARDUBICE. Fakulta elektrotechniky a informatiky. Vybrané problémy výpočtů na PC s pohyblivou řádovou čárkou Nomindalai Naranbaatar

MATA Př 3. Číselné soustavy. Desítková soustava (dekadická) základ 10, číslice 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

LEKCE 6. Operátory. V této lekci najdete:

Elementární datové typy

Zdroje chyb. Absolutní a relativní chyba. Absolutní chyba. Absolutní chyba přibližného čísla a se nazývá absolutní hodnota rozdílu přesného

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Už známe datové typy pro representaci celých čísel i typy pro representaci

Bakalářská matematika I

UMÍ POČÍTAČE POČÍTAT?

Tato tematika je zpracována v Záznamy přednášek: str materiál: PrikladyZobrazeniCisel.pdf

EXPERIMENTÁLNÍ MECHANIKA 2 Přednáška 5 - Chyby a nejistoty měření. Jan Krystek

Číselné soustavy. Jedná se o způsob reprezentace čísel.

p 2 q , tj. 2q 2 = p 2. Tedy p 2 je sudé číslo, což ale znamená, že

2. cvičení z ZI1 - Excel

Chyby měření 210DPSM

ARITMETICKÉ OPERACE V BINÁRNÍ SOUSTAVĚ

SIGNÁLY A LINEÁRNÍ SYSTÉMY

4.3.3 Základní goniometrické vzorce I

B. Sčítání,odčítání adoplňkovýkód

2.8.6 Čísla iracionální, čísla reálná

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Čísla, reprezentace, zjednodušené výpočty

4.3.4 Základní goniometrické vzorce I

Transkript:

Čísla v plovoucířádovéčárce INP 2008 FIT VUT v Brně

Čísla v pevné vs plovoucí řádové čárce Pevnářádováčárka FX bez desetinné části (8 bitů) Přímý kód: 0 až 255 Doplňkový kód: -128 až 127 aj. s desetinnou částí (8 bitů) Př. Přímý kód: 0 až 63,75 aj. Čísla jsou na číselné osa rozložena rovnoměrně. Plovoucí řádová čárka FP X = (-1) S M.B E M je mantisa, S je znaménko, B je základ, E je exponent 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Čísla nejsou na číselné ose rozložena rovnoměrně, což umožňuje zvýšit přesnost (více bitů M) nebo rozsah (více bitů E) oproti FX. E M 1 1 1 1 1 1 1 1 2

Příklad FP na 14 bitech E: 5 bitů, M: 8 bitů, S: 1 bit, B = 2 Interpretace: y = (-1) S 0,M x 2 E Př. 17 10 = 10001 x 2 0 = 1000,1 x 2 1 = 100,01 x 2 2 = 10,001 x 2 3 = 1,0001 x 2 4 = 0,10001 x 2 5 S E 0 0 0 1 0 1 1 0 0 0 1 0 0 0 Př. 65536 = 2 16 = 0,1 x 2 17 se na 14 bitů FX v přímém kódu nevejde, ale v FP to lze 0 1 0 0 0 1 1 0 0 0 0 0 0 0 M 3

Příklad FP na 14 bitech Problém 1: malá čísla nelze přesně zobrazit Potřebujeme záporný exponent Řešení 1: Přidat znaménkový bit k exponentu nepoužívá se Řešení 2: Posunout exponent používá se, je potom jednodušší obvodová realizace porovnání čísel v FP Skutečný_exponent = hodnota_pole_exponentu BIAS tj. exponent uložen v kódu s lichým nebo sudým posunutím Použijeme BIAS = 16 (polovina 2 5 ) Př. 17 10 = 0,10001 x 2 5 (protože 16 + 5 = 21) 0 1 0 1 0 1 1 0 0 0 1 0 0 0 Př. 0,25 10 = 0,1 x 2-1 (15-16 = -1) 0 0 1 1 1 1 1 0 0 0 0 0 0 0 4

Příklad FP na 14 bitech Problém 2: zobrazení čísel není unikátní 0 1 0 1 0 1 1 0 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 1 0 0 Př. 17 10 = 0,10001 x 2 5 = 0,010001 x 2 6 Unikátnost podpoříme zavedením normalizované mantisy nejlevější bit musí být 1 Explicitní jednička v nejlevějším bitu vždy musí být 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 = 0,1 x 2-4 = 0,03125 Implicitní jednička protože víme, že v nejlevějším bitu mantisy musí být vždy jednička, není nutné ji v mantise reprezentovat, ale stále ji uvažujeme výhoda: získáme jeden bit rozlišení navíc Problém: Pokud se zavede normalizace, musí být nula ošetřena zvláštním způsobem 5

Příklad FP na 14 bitech Problém 3: chyby zobrazení Rozsah zobrazení je -0,11111111 x 2 15 až + 0,11111111 x 2 15. Nejmenší kladnéčíslo (pokud neuvažujeme normalizaci): 0,00000001 x 2-16 tj. například 2-39 nebo 2 128 nelze zobrazit Není ale možné ani dostatečně přesně zobrazit např. 128,5. 128,5 10 = 10000000,1 je na 9 bitů, nejnižší bit se musí zanedbat nebo zaokrouhlit, vzniká chyba: (128,5-128)/128,5 ~ 0,39%. Chyba se při použití výsledku v dalších operacích zvyšuje a zvyšuje. 6

IEEE 754 (1) Standard IEEE 754 z roku 1985 definuje B = 2 a jednoduchou a dvojitou přesnost 24 a 53 bitů. Méně používaný standard IEEE 854 definuje B = 2 nebo 10. Kromě definice B, M, E definuje standard další výjimečné situace. Nečíselný výsledek, označený zkratkou NaN - Not a Number. Tento výsledek se ohlásí např. při výpočtu odmocniny z -1. Definice nekonečna, které vznikne podílem 1/0. S tím souvisí definice aritmetiky na nekonečných hodnotách + -, 1/, arctan( ) = π /2, arccos (-1) = π. Norma definuje čtyři přesnosti vyjádření: Jednoduchá přesnost 24 bitů Jednoduchá rozšířená přesnost 32 bitů Dvojitá přesnost 53 bitů Dvojitá rozšířená přesnost 64 bitů 7

IEEE 754 (2) Číslo N se získá z hodnoty E uvedené v poli exponentu a z hodnoty z pole mantisy (zlomková část ) podle vzorce N = (-1) S (2 E-BIAS ) (F0,F1...F23, nebo F52, nebo F63), kde BIAS = 127, 1023, nebo 16 383 pořadě. Mantisa je vyjádřena přímým kódem se znaménkem, exponent kódem s lichým posunutím. Je důležité si uvědomit, že v poli exponentu je uvedeno číslo zvětšené o hodnotu BIAS. Rozlišujeme tedy pojmy pole exponentu, což je posunutý exponent, a exponent, resp. neposunutý exponent. Zlomková část f udává číslo menší než 1. Mantisu však získáme součtem 1 + f, což můžeme zapsat 1,f. 8

IEEE 754 (3): Příklad Příklad. Jaké číslo je zaznamenáno na 32 bitech v jednoduché přesnosti? 1 1000 0001 0100 0000 0000 0000 0000 000 v poli exponentu je číslo 129 exponent je tedy 129-127 = 2 zlomková část f =,01 2 =,25 mantisa je tedy 1,25 Jde tedy o číslo -1,25. 2 2 = -5 9

IEEE 754 (4) výjimečné hodnoty v single precision U formátu s jednoduchou přesností si vysvětlíme vyjadřování speciálních hodnot. Povolené hodnoty exponentu čísel leží v intervalu <-126, +127>, po posunu +127 získáme povolené hodnoty v poli exponentu <1, 254>. Je-li tedy v poli exponentu 0, nebo 255, jde o hodnoty vyhrazené pro speciální účely: Subnormalizované (denormalizované) číslo: nepočítá se se skrytou 1 a exponent je chápán jako -126. 10

IEEE 754 (5): Příklady X 1,0 2,0 19,5-3,75 0 (spec.) +/- nekonečno NaN Denormalizované číslo Reprezentace X v IEEE 754 single precision 0 01111111 00000000000000000000000 0 10000000 00000000000000000000000 0 10000011 00111000000000000000000 1 10000000 11100000000000000000000 0 00000000 00000000000000000000000 0/1 11111111 00000000000000000000000 0/1 11111111 cokoliv nenulového 0/1 00000000 cokoliv nenulového 11

IEEE 754 (6) rozsah single precision MAX = 2 127 x 1,11111111111111111111111 je to normalizované číslo ~3,4x10 38 MIN = 2-126 x 0,00000000000000000000001 je to denormalizované číslo ~1,4x10-45 Čtyři intervaly nelze reprezentovat Záporná čísla menší než MAX (negative overflow) Záporná čísla větší než MIN (negative underflow) Kladná čísla menší +MIN (positive underflow) Kladná čísla větší než +MAX (positive overflow) 12

IEEE 754 (7): Zaokrouhlování K zaokrouhlování dochází v případě, že dané číslo nelze přesně vyjádřit. Např. při násobení v desítkové soustavě máme výsledek operace 2,1 x 0,5 = 1,05 zaokrouhlit na 2 významové číslice. Je věcí konvence, zda za výsledek prohlásíme 1,1, nebo 1,0. Oba výsledky jsou zatíženy stejně velkou chybou. Norma IEEE zaokrouhluje na číslo, jehož nejnižší číslice je sudá (ve dvojkové soustavě). Zaokrouhlovací procedura je definovaná pro 4 případy: Zaokrouhlení k nejbližšímu číslu Zaokrouhlení k nule Zaokrouhlení k + Zaokrouhlení k - 13

Absolutní chyba zobrazení 14

Příklad výpočtu max. absolutní chyby zobrazení Pro základ B = 2 a pětibitovou normalizovanou mantisu M < 1 určíme pro několik hodnot exponentu maximální absolutní chybu zobrazení. 15

Přesnost čísel FP Čísla s pohyblivou řádovou čárkou mají různou velikost intervalů pro každou konkrétní hodnotu exponentu (obrázek), přičemž pro každý interval je odlišná množina bodů s konstantním rozestupem (bodů je stejný počet). Rozestup mezi reprezentovatelnými body a velikost největší chyby pro jistý exponent je základ-krát větší než chyba v předchozím intervalu. Vidíme, že není pravda, že čísla FP jsou "přesnější", než čísla s pevnou řádovou čárkou. Je-li počet bitů pro číslo FX a počet bitů pro číslo FP stejný, může být representace některých čísel FX přesnější, než jejich vyjádření ve FP, protože u FP je pro mantisu určena jen část z celkového počtu bitů a druhá část je určena pro exponent. 16

Aritmetické operace - FP 17

Problémy při sčítání čísel FP - asociativita FP sčítání není asociativní, tedy platí x + (y + z) není vždy rovno (x + y) + z Příklad klad: Máme tři čísla x = -1,5.10 38, y = 1,5.10 38, z = 1,0. Pak x + (y + z) = -1,5.10 38 + (1,5.10 38 + 1,0) = = -1,5.10 38 + 1,5.10 38 = 0 Naopak (x + y) + z = (-1,5.10 38 + 1,5.10 38 ) + 1,0 = = 0,0 + 1,0 = 1,0 Důvodem tohoto chování je omezená přesnost vyjádření na daném počtu bitů a aproximace skutečných hodnot přibližnými. 18

Problémy při sčítání čísel FP zaokrouhlování Uvažme sčítání s 5ti významovými číslicemi v HW (pro jednoduchost v desítkové soustavě) 4,5674.10 0 +0,00025001 4,56765001 zaokrouhlíme na 4,5677 Nestačí při výpočtu přidat další jednu nebo dvě významové pozice, musí se zapamatovat i jednička na konci čísla, která rozhodne o směru zaokrouhlení. Ve dvojkové soustavě se zapamatuje takovýto nenulový bit při posuvu vpravo v záchytném klopném obvodu s (sticky bit). 19