90 likes | 306 Views
Ukládání čísel v počítači 2. www.zlinskedumy.cz. Kódování celých čísel. kódy přímý inverzní doplňkový. Kódování reálných čísel. zobrazení v pohyblivé řádové čárce číslo je zobrazené ve tvaru: C = +/- M . z E M …mantisa (uchovává číslice) z…základ
E N D
Ukládání čísel v počítači 2 www.zlinskedumy.cz
Kódování celých čísel • kódy • přímý • inverzní • doplňkový
Kódování reálných čísel • zobrazení v pohyblivé řádové čárce • číslo je zobrazené ve tvaru: C = +/- M . zEM …mantisa (uchovává číslice) z…základ E…exponent (nese informaci o velikosti čísla) nejčastěji se používá formát standardu IEEE 754
Kódování reálných čísel • Jednoduchá přesnost • na 4 B (tzn. 32 bitů) • mantisa – 23 bitů v přímém kódu • znaménkový bit: kladné číslo – 0, záporné číslo – 1 • exponent – 8 bitů v přímém kódu z (1b) E (8b) M (23b) • myšlená desetinná tečka je umístěna za nejvyšším bitem mantisy • nejvyšší bit mantisy je vždy 1 a nezobrazuje se
Kódování reálných čísel • rozsah zobrazení závisí na počtu číslic exponentu • přesnost zobrazovaného čísla závisí na počtu číslic mantisy • rozsah zobrazení +/-1.175*10-38 až +/-3.4*1038
Kódování reálných čísel • číselná osa se rozpadá na dva zobrazitelné intervaly • je-li hodnota exponentu čísla větší než maximální zobrazitelná dochází k přetečení • je-li hodnota exponentu čísla menší než minimální zobrazitelná dochází k podtečení
Kódování reálných čísel • Vlastnosti • dochází k zaokrouhlování, nelze testovat na rovnost nule • neplatí asociativní a distributivní zákon • Pozn. • formát dvojitá přesnost se ukládá na 8 B
Praktická cvičení • Naprogramujte v Pascalu (příp. v jiném programovacím jazyce) • Př.1 Pro čísla z intervalu <1;20> vypočítejte Ntina = 1/N. Vypište na monitor. Dále tyto Ntiny vynásobte N. (Pro některá čísla nevyjde výsledek 1.) • Př.2 Zadejte A = 1, B = 1e15, C = -1e15. Spočítejte Prvni = A + (B + C) Druhy = (A + B) + C (První ≠ Druhy)
Zdroje • Wikipedie. Floating point [online]. [09.11.2012]. Dostupné na [http://en.wikipedia.org/wiki/Floating_point]