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

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

Principy počítačů I Reprezentace dat

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

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

Architektury počítačů

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

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

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

Algoritmy a datové struktury

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

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

Mikroprocesorová technika (BMPT)

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

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

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

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

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

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

v aritmetické jednotce počíta

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

Čísla a číselné soustavy.

Úvod do programování 7. hodina

Reprezentace dat. INP 2008 FIT VUT v Brně

Informatika Datové formáty

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

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

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

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

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

Vnitřní reprezentace dat

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky

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

Aritmetické operace a obvody pro jejich realizaci

Číselné soustavy. Prvopočátky. Starověký Egypt a Mezopotámie. Již staří Římané

BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky

ČÍSELNÉ SOUSTAVY PŘEVODY

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

E. Pohyblivářádováčárka

Principy počítačů. Prof. RNDr. Peter Mikulecký, PhD.

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

MQL4 COURSE. By Coders guru -3 DATA TYPES. Doufám, že předchozí lekce SYNTAX se vám líbila. V té jsme se pokoušeli zodpovědět:

Zobrazení dat Cíl kapitoly:

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

Struktura a architektura počítačů

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

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

Nastavovací příručka pro snímače CCD

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

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

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

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

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

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

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

Elementární datové typy

Algoritmizace a programování

Aritmetické operácie v rôznych číselných sústavách. Ľudmila MACEKOVÁ, KEMT-FEI-TUKE, sep. 2017

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Struktura a architektura počítačů

PB002 Základy informačních technologií

Y36SAP - aritmetika. Osnova

CODEWARE. Nastavovací příručka. pro snímače CipherLab 1500/1560/1562

1. Základní pojmy a číselné soustavy

Úvod do informačních technologií

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

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

Dnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT

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

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

Nejvyšší řád čísla bit č. 7 bit č. 6 bit č.5 bit č. 4 bit č. 3 bit č. 2 bit č. 1 bit č. 0

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

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

Úvod do informačních technologií

Referenční příručka o čárovém kódu

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

Nejvyšší řád čísla bit č. 7 bit č. 6 bit č.5 bit č. 4 bit č. 3 bit č. 2 bit č. 1 bit č. 0

Pohled do nitra mikroprocesoru Josef Horálek

Číselné soustavy a převody mezi nimi

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

Variace. Mocniny a odmocniny

Číselné soustavy. Ve světě počítačů se využívají tři základní soustavy:

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

4 Datové struktury. Datové struktury. Zobrazení dat v počítači

Architektura počítačů

Algoritmizace a programování

Standard ISVS pro národní prostředí 004/02.06

Procesor z pohledu programátora

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.

BI-JPO (Jednotky počítače) Cvičení

Voyager 9520/40 Voyager GS9590 Eclipse 5145 Stručný návod k použití

Vnitřní reprezentace dat Výpočetní technika I

Přednáška 3: Vnitřní reprezentace dat. Uložení dat v paměti počítače. Organizace dat na discích. Datové formáty. Přednáška 3:

CODEWARE. Nastavovací příručka pro snímač CCD 1500

Informace, kódování a redundance

Paměť počítače. alg2 1

Základní jednotky používané ve výpočetní technice

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

Převody mezi číselnými soustavami

Převodník DCPSE. Komunikační protokol

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

Transkript:

Principy cpypočítačůčů a operačních systémů REPREZENTACE DAT There are only 10 types of people in the world: - those who understand d binary, - and those who don't.

Literatura D.Goldberg: What Every Computer Scientist Should Know About Floating-Point Arithmetic IA-32 Intel Architecture Software Developer s Manual (Vol.1 Basic Architecture) 2

Číselné soustavy Polyadické i= n 1 i= m Číslo A = a z reprezentujeme i i uspořádanou (m+n)ticí koeficientů a i Soustava může mít ítjeden nebo více základů (radix mumber system) V soustavě s jedním základem z jsou hodnoty z i určeny jako z i =z i m=0... celá čísla, m>0... zlomková část 3

Číselné soustavy Nepolyadické římské číslice 1648 MDCXLVIII 2003 MMIII 9 IX, VIIII pro počítání nevhodné soustava zbytkových tříd (residue number system) definována k-tice různých základů prvočísel číslo vyjádřeno k-ticí zbytků po dělení příslušným základem Příklad: základy 2,3,11: číslo devět zapsáno jako 109 jednoznačné pouze pro čísla menší než součin základů 4

Přepis celého čísla do soustavy s jiným základem Zápis čísla A v soustavě o základu z: A= a n-1 z n-1 + a n-2 z n-2 + + a 1 z 1 + a 0 z 0 = (a z n-2 + a z n-3 n-1 n-2 + a 1 )z + a 0 = a 0 + z (a 1 + z (a 2 + + z(a n-2 + za n-1 ) )) V soustavě o základu z bude A zapsáno: A= b 0 + z (b 1 + z (b 2 + + z (b k-2 + z b k-1 ) )) A= z A/z + A mod z 5

Převodní algoritmus celé části Číslo d v soustavě o základu z Použít q i jako nové číslo d V soustavě o základu z dělit d základem z' nové soustavy q i... výsledek r i... zbytek Použít r i jako koeficient b i NE q i == 0? Konec ANO 6

Příklady 151 10 do binární soustavy: 134 9 do sedmičkové soustavy: 151 : 2 = 75 1 134 : 7 = 17 0 75 : 2 = 37 1 17 : 7 = 2 2 37 : 2 = 18 1 2: 7 = 0 2 18 : 2 = 9 0 9 :2= 4 1 134 9 = 220 7 4: 2 = 2 0 2 :2= 1 0 134 : 7 = 17 17 1: 2 = 0 1 54 7 0 --- 151 10 = 10010111 2 54 7 --- 134 7

Převod do desítkové soustavy Koeficienty zápisu čísla o základu z vynásobíme příslušnou mocninou z a sečteme: A: a n-1 a n-2 a 1 a 0 A = a n-1 z n-1 + a n-2 z n-2 + + a 1 z 1 + a 0 z 0 Hornerovo schéma: A = ( (a n-1 z+ a n-2 )z + )z + a 0 8

Převod čísla se zlomkovou částí Hledáme koeficienty pro z i, -m i n-1 Celá část: popsána výše Zlomková část: podobně, ale základem nové soustavy násobíme. 9

Převodní algoritmus zlomkové části Zlomková část d v soustavě o základu z Použít f i jako zlomkovou část d V soustavě o základu z násobit d základem z' nové soustavy q i... celá část f i... zlomková část Použít q i jako koeficient b i NE f i == 0? Konec ANO 10

Příklad 0,25 10 převést do dvojkové soustavy: 0,25 * 2 = 0,50 0 0,50 * 2 = 1,00 1 0,25 10 =0,01 2 11

Příklad 0,3125 10 převést do dvojkové soustavy: 0,3125 * 2 = 0,6250 0 0,6250 * 2 = 1,2500 1 0,2500 * 2 = 0,5000 0 05000*2= 0,5000 1,0000 1 0,3125 10 = 0,0101 2 12

Příklad 0,1 10 převést do dvojkové soustavy: 0,1 * 2 = 0,2 0 0,2 * 2 = 0,4 0 0,4 * 2 = 0,8 0 08 0,8 *2= 16 1,6 1 0,6 * 2 = 1,2 1 0,2 * 2 = 0,4 0 0,1 10 0,0001100110011 2, 10, 2 Postup nemusí být konečný! 13

Příklad 0,678 10 převést do dvojkové soustavy: 0,678* 2 =1,356 1 0,356* 2 =0,712 0 0,712* 2 =1,424 1 0,424* 2 =0,848 0 0,848* 2 =1,696 1 0,696* 2 =1,392 1 0,392* 2 =0,784 0 0784* 0,784 2 =1,568 1 0,678 10 0,10101101 2 14

Často používané soustavy z=2 z=8 z=16 binární počítače snadné převody 15

Typy dat Literály Čísla Instrukce 16

Literály logické hodnoty znaky grafické symboly nečíselná data 17

Logické hodnoty možno reprezentovat jediným bitem x x x x 0 x x x x x x x 1 x x x problémy s adresováním reprezentace celou datovou jednotkou 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0???????? problémy s velikostí 18

Znaky Tisknutelné znaky reprezentace textové informace velká a malá písmena abecedy, číslice diakritika, různé národní abecedy a číslice Řídící í znaky ovládání vzdáleného terminálu CR, LF, FF, Kódování zobrazení znaků/číslic na hodnoty v paměti 19

Kódování příklady EBCDIC 256 závazných znaků abeceda není v jednom bloku ASCII původně pro 7 bitů ~ 128 znaků rozšíření na 8 bitů + národní znaky Unicode standardizovaná reprezentace (ISO 10646-1, 1993) podporuje (téměř) všechny národní abecedy 1 znak kódován posloupností více bajtů 20

EBCDIC 256 závazných znaků 0x00.. 0x3F... speciální (řídící) znaky 0x40.. 0xFF... tisknutelné znaky Mnoho volných pozic Abeceda není v jednom bloku 21

EBCDIC 0 1 2 3 4 5 6 7 0 NUL DLE DS SP & - 1 SOH DC1 SOS / 2 STX DC2 FS SYN 3 ETX TM 4 PF RES BYP PN 5 HT NL LF RS 6 LC BS ETB UC 7 DEL IL ESC EOT 8 CAN 9 EM A SMM CC SM ^! : B VT CU1 CU2 CU3. $, # C FF IFS DC4 < * % @ D CR IGS ENQ NAK ( ) _ ' E SO IRS ACK + ; > = F SI IUS BEL SUB ~? " 22

EBCDIC 8 9 A B C D E F 0 { } \ 1 a j s A J S 0 2 b k t B K T 1 3 c l u C L U 2 4 d m v D M V 3 5 e n w E N W 4 6 f o x F O X 5 7 g p y G P Y 6 8 h q z H Q Z 7 9 i r I R 8 A 9 B C D [ ] E F 23

ASCII 0 1 2 3 4 5 6 7 0 NUL DLE space 0 @ P ` p 1 SOH DC1! 1 A Q a q 2 STX DC2 " 2 B R b r 3 ETX DC3 # 3 C S c s 4 EOT DC4 $ 4 D T d t 5 ENQ NAK % 5 E U e u 6 ACK SYN & 6 F V f v 7 BEL ETB ' 7 G W g w 8 BS CAN ( 8 H X h x 9 HT EM ) 9 I Y i y A LF SUB * : J Z j z B VT ESC + ; K [ k { C FF FS, < L \ l D CR GS - = M ] m } E SO RS. > N? n ~ F SI US /? O _ o DEL 24

ASCII národní rozšíření KOI8-čs PC standard EAST8 ICL KEYBCS2 Cork MacCE PC Latin x (Latin 2) Windows codepage pg (1250) ISO/IEC 8859 (8859-2) 25

Rozšíøení ASCII èasté problémy 26

UNICODE součást normy ISO/IEC 10646-1 (1993) znak reprezentován vícebytovou sekvencí diakritika možnost uživatelských symbolů problém se staršími programy pozor na konkrétní k íimplementaci i 27

UNICODE podpora národních abeced Latin Greek Cyrillic Hb Hebrew Hiragana, Katakana... a množství dalších návrhy rozšíření 28

Grafické symboly reprezentace spolu se znaky jazyky pro popis grafických symbolů 29

Čísla Různé typy číselných hodnot přirozená čísla celá čísla racionální reálná á Různé typy reprezentací řetězce znaků vnitřní reprezentace 30

Zobrazení přirozených čísel I převodem do nativní soustavy počítače a přímým uložením 19 10 0 0 0 1 0 0 1 1 229 10 1 1 1 0 0 1 0 1 31

Zobrazení přirozených čísel II BCD Binary Coded Decimal Převod z desítkového zápisu po cifrách Příklad: 1930 10 0001 1001 0011 0000 Výhody snadné zpracování vstupů/výstupů Problémy aritmetika speciální instrukce neúsporné packed BCD nevyužité části zneužívány pro jiné účely 32

Zobrazení celých čísel Nejčastější zobrazení: se znaménkem (sign and magnitude) s posunutím (biased) dvojkový doplněk (two s complement) 33

Zobrazení se znaménkem (sign g and magnitude) ) absolutní hodnota čísla převedena do binární podoby záznam doplněn o znaménkový bit Problém: dvě reprezentace nuly, složitější operace Příklad: -19 10 1 0 0 1 0 0 1 1 znaménkový bit nejvyšší řád (bit 6) nejnižší řád (bit 0) 34

Zobrazení s posunutím (biased notation, Excess-N) ) k číslu se přičte konstanta reprezentující nulu výsledné nezáporné číslo se zobrazí přímo Problém: složitější aritmetické operace Příklad zobrazení s posunutím o 127: -19 10 0 1 1 0 1 1 0 0 nejvyšší řád (bit 7) nejnižší řád (bit 0) 35

Zobrazení v jedničkovém doplňku kladná čísla: přímo (ones complement) ) záporná čísla: v jedničkovém doplňku inverze bitů přímého záznamu abs. hodnoty Problém: dvě reprezentace nuly Příklad: -19 10 1 1 1 0 1 1 0 0 nejvyšší řád (bit 7) nejnižší řád (bit 0) 36

Zobrazení ve dvojkovém doplňku kladná čísla: přímo (two s complement) ) záporná čísla: ve dvojkovém doplňku inverze bitů přímého záznamu abs. hodnoty, přičtení 1 Příklad: -19 10 1 1 1 1 0 1 0 1 nejvyšší řád (bit 7) nejnižší řád (bit 0) 37

Dvojkový doplněk Mějme číslo A. Jeho doplněk A = A + M = - A + M kde M je modul. Pro dvojkovou soustavu je M=2 n kde n je počet cifer zápisu čísla. 38

Dvojkový doplněk Mějme číslo A. A =-1 Jeho doplněk A = A + M = - A + M kde M je modul. Pro dvojkovou soustavu je M=2 n A = (-1) + 2 n kde n je počet cifer zápisu čísla. pro n=4: 1111 2 Ve dvojkové soustavě: 1. zneguj bity 2. přičti 1 39

Aritmetika ve dvojkovém doplňku -10 10 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 +19 10 ----- -10 +9? 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0-10 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 19 +9! 9 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 40

Konverze délek znaménkové rozšíření ve znaménkovém zobrazení +18 0 0 0 1 0 0 1 0 +18 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 18 1 0 0 1 0 0 1 0-18 -18 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 41

Konverze délek znaménkové rozšíření v doplňkovém kódu +18 0 0 0 1 0 0 1 0 +18 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 18 1 1 1 0 1 1 1 0-18 -18 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 42

Přetečení Problémy omezené délky reprezentace velikost výsledku přesahuje rozsah reprezentace operace A + B A 0, B 0, výsledek < 0 A < 0, B < 0, výsledek 0 operace A B A 0, B<0 0, výsledek k<0 A < 0, B 0, výsledek 0 43

Příklady zobrazení číslo se znaménkem s posunutím jedničkový doplněk dvojkový doplněk +7 0111 1111 0111 0111 +6 0110 1110 0110 0110 +5 0101 1101 0101 0101 +4 0100 1100 0100 0100 +3 0011 1011 0011 0011 +2 0010 1010 0010 0010 +1 0001 1001 0001 0001 +0 0000 1000 0000 0000-0 1000 1000 1111 0000-1 1001 0111 1110 1111-2 1010 0110 1101 1110-3 1011 0101 1100 1101-4 1100 0100 1011 1100-5 1101 0011 1010 1011-6 1110 0010 1001 1010-7 1111 0001 1000 1001-8 --- 0000 --- 1000 44

vícebytové sekvence Problém jak ukládat? Jak přenášet? od nižších řádů od vyšších řádů jinak...? Po jakých částech? D.Cohen: On Holy Wars and a Plea for Peace 45

Ukládání vícebytových sekvencí Big-endian IBM 360/370, PDP-10, Motorola 6800, různé RISC Little-endian VAX, MOS 6502, Intel x86 (Midle-endian ani little, ani big. Used of perverse byte orders such as 3-4-1-2 or 2-1-4-3, ocassionally found din the packed-decimal d lformats of minicomputer manufacturers who shall remain nameless. ) NUXI problem 46

Příklad Uložit číslo 1234ABCD 16, tj. 4 byty Little Endian: adresy: 0 Big Endian: CD 16 AB 16 34 16 12 16 adresy: 0 12 16 34 16 AB 16 CD 16 47

Bi-endian ARM, PowerPC, DEC Alpha, MIPS, PA-RISC, IA64 někdy lze změnit programově (bit v konfiguraci) někdy jen HW (DEC Alpha) df default lbig: MIPS + IRIXPARISC IRIX, PA-RISC, většina ě PPC default little: MIPS + Ultrix, Alpha, IA-64 + Linux 48

Ještě horší problém Portabilita software Přenos dat mezi zařízeními 8/16bitové architektury telekomunikace Lilliput komunikace Blefuscu computing we d rather fight than switch! 49

Zobrazení racionálních čísel Přímo užíváno zřídka např. Fixed-slash, Floating-slash Obvykle emulováno strukturovanými typy 50

Fixed & Floating-slash 51

Fixed & Floating-slash p q = a 0 + a 1 + a 2 1 1 + a 3 1 +... Uložení do 20bit fixed-slash: p = [ a / a1 / a2 / a3 q /...// a 0 n ] 52

Zobrazení reálných čísel Čísla s pevnou řádovou čárkou Zobrazení celých čísel je speciální případ, kdy řádová čárka je zcela vpravo Posunutím řádové čárky směrem vlevo měníme rozsah zobrazovaných čísel a přesnost zobrazení 0 0 0 0 1 0 1 1 0 1 0 0 1 1 0 1 53

Zobrazení reálných čísel Logarithmic floating-point vyjádření ve tvaru ±z fixed-point (z obvykle 2 nebo 10) není overflow, underflow * / přesné není přesná ř reprezentace běžných hčísel only few embedded systems 54

Zobrazení reálných čísel Z různých reprezentací se nejvíce ujala floating point reprezentace (reprezentace s plovoucí řádovou čárkou) ) Je dán základ β a přesnost p: A = ±d e 0.d 1 d 2... d p-1 β Příklad: 0,00950095 pro β=10, p=2... 9.5 10-3 425 pro β=10, p=5... 4.2500 10 2 225 2,25 pro β=2, p=4... 1.001 2 1 55

Floating point Zápis ve tvaru ±d 0.d 1 d 2... d p-1 β e ( 0 d i < β ) reprezentuje číslo ±(d 0 + d 1 β -1 +... + d p-1 β 1-p ) β e 56

Floating point Zápis nemusí být přesný: 0,1 pro β=2, p=24 1.10011001100110011001101 2-4 Zápis nemusí být jednoznačný: 100 1.00 10-1 001 0.01 10 1 Je-li d 0 0, reprezentace je nazývána 0 normalizovanou Pro d 0 = 0 je reprezentace nazývána denormalizovanou 57

Používaná zobrazení Znaménko Řádová čárka Řádová čárka exponentu exponentu mantisy ± ± Exponent Mantisa Znaménko mantisy ± Exponent (s posunem) Řádová čárka exponentu i mantisy Mantisa Znaménko mantisy Znaménko mantisy 1. ± Exponent Mantisa (vždy normalizována) Řádová čárka exponentu i mantisy 58

IEEE Standard 754 single precision: β=2, p=24, e = 8 bitů double precision: β=2, p=53, e = 11 bitů quadruple precision: β=2, p=113, e = 15 bitů Extended formats: single extended: β=2, p 32, e 11 bitů double extended: β=2, p 64, e 15 bitů Correct use of this format is a nontrivial challenge to programmers 59

IEEE Standard 754 přesný zápis v bitovém formátu ± Exponent Mantisa 31 30 23 22 0 ± Exponent Mantisa 79 78 64 63 0 60

IEEE Standard 754 61

IEEE Standard 754 62

IEEE Standard 854 povoluje β=2 a β=10 neurčuje konkrétní zápis nevyžaduje konkrétní hodnoty p pro single a double precision zavádí omezující podmínky možných hodnot p. 63

Možnosti zápisu dle IEEE 754 exponent mantisa význam e min -1 000 000 m = 0 ± 0 e m e min min -1 m 0 0.m 2 < e min,e max > m 1.m 2 e e max +1 111 111 m = 0 ± e max +1 m 0 1xxx xxx NaN e max +1 m 0 0xxx xxx SNaN 64

NaN POZOR na chování konkrétního procesoru a kompilátoru!!! operace vznik NaN + +( ) (- ) 0 / 0/0, / REM x REM 0, REM y x pro x<0 65

Operace s floating-point čísly Sčítání o odečítání A=M exp 1 B=M exp 2 1 z 2 z Pro exp 1 =exp 2 je A+B = (M 1 + M 2 ) z exp 1 Pro exp 1 exp 2 je nutno: A nebo B denormalizovat provést výpočet normalizovat výsledek Pozor: sčítání a odečítání nejsou asociativní přetečení ř č či podtečení č í( (při řidenormalizaci iii při výpočtu) 66

Operace s floating-point čísly Násobení a dělení A=M exp 1 B=M exp 2 1 z 2 z A.B = (M 1.M 2 ) z exp 1 +exp 2 A/B = (M /M exp 1 -exp 2 1 2 ) z Boothovo kódování 0,1-1,0,1, např. násobení 62: 00111110 010000-10 67

Vznik chyb při výpočtu overflow přetečení underflow podtečení divide by zero dělení nulou invalid neplatná operace inexact nepřesný výsledek 68

IEEE 754/854 ((2 10-30 + 10 30 ) 10 30 ) 10-30 10-30 na počítači pracujícím podle IEEE = -10-30 69