Floating Point ˇ Jak je reprezentovan´y a proˇc nekdy nefunguje ˇ ıdek Augustin Z´ augustinzidek<dot>eu
2. cˇ ervna 2013
Historie
I
Leonardo Torres y Quevedo 1914 – Analytical Engine s floating point
Historie
I
I
Leonardo Torres y Quevedo 1914 – Analytical Engine s floating point Floating point vs fixed point (von Neumann)
Historie
I
I I
Leonardo Torres y Quevedo 1914 – Analytical Engine s floating point Floating point vs fixed point (von Neumann) Ruzn ˚ e´ implementace aˇz do 1985 – IEEE 754-1985
Post IEEE-754 I
Raketa Ariane 5 (1996), 10 let v´yvoje, 7 miliard dolaru˚
Post IEEE-754 I
I I
Raketa Ariane 5 (1996), 10 let v´yvoje, 7 miliard dolaru˚ Konvertovali 64-bitov´y float na 16-bitov´y int ´ “Neoˇcekavan´ y overflow”
Post IEEE-754
I
Raketa Ariane 5 (1996), 10 let v´yvoje, 7 miliard dolaru˚ Konvertovali 64-bitov´y float na 16-bitov´y int ´ “Neoˇcekavan´ y overflow”
I
Burza ve Vancouveru (1983)
I
I
Post IEEE-754 I
I I I I I
Raketa Ariane 5 (1996), 10 let v´yvoje, 7 miliard dolaru˚ Konvertovali 64-bitov´y float na 16-bitov´y int ´ “Neoˇcekavan´ y overflow” Burza ve Vancouveru (1983) Index podhodnocen´y o 44 % ˇ ıcu˚ Zaokrouhlovac´ı chyba se sb´ırala 22 mes´
Post IEEE-754 I
I I
Raketa Ariane 5 (1996), 10 let v´yvoje, 7 miliard dolaru˚ Konvertovali 64-bitov´y float na 16-bitov´y int ´ “Neoˇcekavan´ y overflow”
I
Burza ve Vancouveru (1983) Index podhodnocen´y o 44 % ˇ ıcu˚ Zaokrouhlovac´ı chyba se sb´ırala 22 mes´
I
Stˇrely Patriot (1991)
I I
Post IEEE-754 I
I I I I I I I
Raketa Ariane 5 (1996), 10 let v´yvoje, 7 miliard dolaru˚ Konvertovali 64-bitov´y float na 16-bitov´y int ´ “Neoˇcekavan´ y overflow” Burza ve Vancouveru (1983) Index podhodnocen´y o 44 % ˇ ıcu˚ Zaokrouhlovac´ı chyba se sb´ırala 22 mes´ Stˇrely Patriot (1991) 28 mrtv´ych, nepˇresnost 1/20 s kvuli ˚ 24-bitov´ym float
Definice: Rozd´ıl mezi 1.0 a nejmenˇs´ım ˇ s´ı neˇz jedna. reprezentovateln´ym cˇ ´ıslem, ktere´ je vetˇ
Machine epsilon
I
I
Definice: Rozd´ıl mezi 1.0 a nejmenˇs´ım ˇ s´ı neˇz jedna. reprezentovateln´ym cˇ ´ıslem, ktere´ je vetˇ ´ ı rozd´ıl mezi cˇ ´ısly aby byla povaˇzovana ´ Minimaln´ za ´ nestejna.
Machine epsilon
I
I
I I
Definice: Rozd´ıl mezi 1.0 a nejmenˇs´ım ˇ s´ı neˇz jedna. reprezentovateln´ym cˇ ´ıslem, ktere´ je vetˇ ´ ı rozd´ıl mezi cˇ ´ısly aby byla povaˇzovana ´ Minimaln´ za ´ nestejna. Float: 1.19209290E-7 Double: 2.2204460492503131E-16
Machine epsilon
I
I
I I I
Definice: Rozd´ıl mezi 1.0 a nejmenˇs´ım ˇ s´ı neˇz jedna. reprezentovateln´ym cˇ ´ıslem, ktere´ je vetˇ ´ ı rozd´ıl mezi cˇ ´ısly aby byla povaˇzovana ´ Minimaln´ za ´ nestejna. Float: 1.19209290E-7 Double: 2.2204460492503131E-16 Jednoduche´ vypoˇc´ıtat
´ an´ ´ ı Porovnav
´ float lze porovnavat bitoveˇ jako int Double
+/− 63
Exponent 62 52
Mantisa 51
0
Prvn´ı uskal´ ı ´
´ Jak je reprezentovano 0.1?
Prvn´ı uskal´ ı ´
´ Jak je reprezentovano 0.1? 1 11111101110 0110011001100110011001100...
´ ˇ ı Aritmetika – nasoben´ ı a delen´
(a × 2n ) · (b × 2m ) = a · b × 2n+m (a × 2n )/(b × 2m ) = a/b × 2n−m + normalizace