Liczby zmiennoprzecinkowe.
Transkrypt
Liczby zmiennoprzecinkowe.
Wprowadzenie do informatyki - ć wiczenia Zmiennoprzecinkowy zapis liczb wymiernych dr inż . Izabela Szczęch WSNHiD Ćwiczenia z wprowadzenia do informatyki Reprezentacja liczb wymiernych § Stałoprzecinkowa § bez znaku § ze znakiem § Zmiennoprzecinkowa § pojedynczej precyzji § podwó jnej precyzji § … 2 Izabela Szczęch 1 Wprowadzenie do informatyki - ć wiczenia Plan zaję ć n Zapis zmiennoprzecinkowy - definicja i konwersje n Zakresy liczb w reprezentacji zmiennoprzecinkowej n Dokładnoś ć reprezentacji zmiennoprzecinkowej n Arytmetyka w reprezentacji zmiennoprzecinkowej n Problem utarty precyzji n Standardy reprezentacji zmiennoprzecinkowej 3 Zapis zmiennoprzecinkowy - definicja i konwersja Izabela Szczęch 2 Wprowadzenie do informatyki - ć wiczenia Wady zapisu stałoprzecinkowego § zapis bardzo duż ych lub bardzo małych liczb w notacji stałoprzecinkowej jest niewygodny ponieważ wymaga duż ej liczby znakó w § jeś li chcemy rozszerzyć zakres czy precyzję (liczbę miejsc po przecinku) musimy uż yć większej liczby znakó w § dwanaś cie bilionó w: 12 000 000 000 000 § trzydzieś ci trylionó w: 30 000 000 000 000 000 000 § jedna bilionowa: 0,000 000 000 001 5 Zapis zmiennoprzecinkowy Zapis zmiennoprzecinkowy (ang. floating point numbers) zwany ró wnież postacią wykładniczą, notacją naukowa składa się z następujących elementó w: § m – mantysy, czyli liczby stałoprzecinkowej § p – podstawy systemu § c – cechy, czyli wykładnika potęgowego, do któ rego podnosimy podstawę systemu Wartoś ć liczby zmiennoprzecinkowej L obliczamy według wzoru: L( FP ) = m * p c 6 Izabela Szczęch 3 Wprowadzenie do informatyki - ć wiczenia Zapis zmiennoprzecinkowy § Zapis zmiennoprzecinkowy wymaga znacznie mniejszej liczby znakó w niż stałoprzecinkowy przy zapisie bardzo duż ych lub bardzo małych liczb. § Przykład dla systemu dziesiętnego: § 12 000 000 000 000 = 1,2x1013 § 30 000 000 000 000 000 000 = 3,0x1019 § 0,000 000 000 001 = 1,0x10-12 7 Zapis zmiennoprzecinkowy § Położ enie przecinka w mantysie nie jest ustalone i moż e się dowolnie zmieniać . § Poniż sze zapisy oznaczają tą samą liczbę: 325 x 10 20 = 32,5 x 1021 = 3,25 x 1022 = 0,0325 x 10 24, itd. § Zmiana położ enia przecinka w mantysie wpływa na wartoś ć cechy liczby: § przesunięcie przecinka o 1 pozycję w lewo wymaga zwiększenia cechy o 1. § przesunięcie przecinka o 1 pozycję w prawo wymaga zmniejszenia cechy o 1. 8 Izabela Szczęch 4 Wprowadzenie do informatyki - ć wiczenia Znormalizowany zapis Znormalizowana liczba zmiennoprzecinkowa to taka, w któ rej mantysa spełnia nieró wnoś ć : p>|m| ≥1 Według tej definicji postacią znormalizowaną dla zapisó w: 325 x 10 20 = 32,5 x 1021 = 3,25 x 1022 = 0,0325 x 10 24 jest jedynie zapis 3,25 x 10 22. 9 Binarny zapis zmiennoprzecinkowy § W binarnym systemie zmiennoprzecinkowym m, p oraz c zapisane są dwó jkowo, a podstawa p jest zawsze ró wna 2. § Z racji, ż e podstawa jest zawsze znana, do zapisania dwó jkowej liczby zmiennoprzecinkowej wystarczy podanie wartoś ci m, c oraz sposobu ich kodowania. 10 Izabela Szczęch 5 Wprowadzenie do informatyki - ć wiczenia Binarny zapis zmiennoprzecinkowy § W ramach ć wiczeń będziemy operować na 8-mio bitowych dwó jkowych liczbach zmiennoprzecinkowych (FP), w któ rych: § 4 najstarsze bity są przeznaczone na zapis cechy w kodzie U2, § pozostałe 4 bity są na zapis mantysy ró wnież w kodzie U2. Przyjmijmy też , ż e mantysa jest liczbą stałoprzecinkową (w kodzie U2) z dwoma miejscami po przecinku. cecha b7 b6 b5 mantysa b4 b3 b2 b1 b0 11 Konwersja binarnego zapisu FP na system dziesię tny Przykład: Oblicz wartoś ć dziesiętną zmiennoprzecinkowej dwó jkowej liczby 11110101(FP). c = 1111(U2) 1111(U2) = -8+4+2+1= -1(10) m = 01,01(U2) 01,01(U2) = 1+ 1/4 L(FP) = m* 2c = 5/4*2-1 = 5/4*1/2 = 5/8 11110101 (FP) = 5/8 (10) 12 Izabela Szczęch 6 Wprowadzenie do informatyki - ć wiczenia Konwersja binarnego zapisu FP na system dziesię tny Zadania: Oblicz wartoś ć dziesiętną następujących zmiennoprzecinkowych liczb dwó jkowych: a) 00010100 (FP) b) 11010111(FP) c) 11111001(FP) 13 Konwersja z systemu dziesię tnego na zapis FP Algorytm przeliczania liczby dziesiętnej na liczbę zmiennoprzecinkową w innym systemie pozycyjnym: § Przeliczamy daną liczbę dziesiętną na liczbę w systemie docelowym. Wynik jest wartoś cią mantysy przy cesze ró wnej 0. § Normalizujemy mantysę modyfikując przy tym odpowiednio cechę liczby. 14 Izabela Szczęch 7 Wprowadzenie do informatyki - ć wiczenia Konwersja z systemu dziesię tnego na zapis FP Przykład 1: Wyznacz dwó jkową zmiennoprzecinkową reprezentację liczby 2,5(10) 2,5(10)=?(U2) Z racji, ż e jest to stałoprzecinkowa liczba dodatnia, to z kodzie U2 wygląda tak samo jak w Znak-moduł. Konwertujemy ją zatem na ZM. Dostajemy: 2,5(10)=010,1(U2) Tak by wyglądała reprezentacja przy cesze = zero czyli 0000(U2). Ale chcemy reprezentację z dwoma miejscami po przecinku, musimy więc przesunąć wszystkie bity o jedną pozycję w prawo i zwiększyć cechę o jeden. Wynik: 2,5(10)=00010101(FP) c=0001(U2), m=0101(U2) 15 Konwersja z systemu dziesię tnego na zapis FP Sprawdzenie wyniku: L = 00010101(U2) c = 0001(U2) = 1(10) m = 01,01(U2) = 0*(-21) + 1*20 + 0*2-1 + 2-2=11/4 L = m* 2c = 11/4 * 21 = 5/4*2 = 10/4=2,5 00010101(FP) = 2,5(10) 16 Izabela Szczęch 8 Wprowadzenie do informatyki - ć wiczenia Konwersja z systemu dziesię tnego na zapis FP Przykład 2: Wyznacz dwó jkową zmiennoprzecinkową reprezentację liczby -1,13(10) -1,13(10)=?(U2) Z racji, ż e jest to stałoprzecinkowa liczba UJEMNA, to aby ją przedstawić w kodzie U2, szukamy najpierw zapisu wartoś ci 1,13 w kodzie U2 (któ ry jest toż samy z zapisem w kodzie Znak-moduł), a następnie szukamy liczby przeciwnej (przepisać wszystkie bity łącznie z pierwszą napotkaną jedynką a pozostałe bity zanegować ). +1,13(10) = 01,00100001...(U2)=(ZM) Jest to oczywiś cie wartoś ć przybliż ona (1,1289… ), bo 1,13 nie jest liczbą maszynową. -1,13(10) = 10,11011111(U2) Tak by wyglądała reprezentacja przy cesze = zero czyli 0000(U2). 17 Konwersja z systemu dziesię tnego na zapis FP Przykład 2: -1,13(10) = 10,11011111(U2) Tak by wyglądała reprezentacja przy cesze = zero czyli 0000(U2). Mamy tylko dwa miejsca przed przecinkiem (nie zawierające samych zer), nie musimy zatem przesuwać bitó w. Cecha pozostanie bez zmian. Wynik: -1,13(10) = 00001011(FP) c=0000(U2), m=1011(U2) 18 Izabela Szczęch 9 Wprowadzenie do informatyki - ć wiczenia Konwersja z systemu dziesię tnego na zapis FP Sprawdzenie wyniku: L = 00001011(U2) c = 0000(U2) = 0(10) m = 10,11(U2) = 1*(-21) + 0*20 + 1*2-1 + 1*2-2 = -2+1/2 + 1/4 = -8/4 + 3/4 = -5/4 L = m* 2c = -5/4 * 20 = -5/4*1 = -1,25 00001011 (FP) = -1,25 » -1,13 19 Konwersja z systemu dziesię tnego na zapis FP Zadania: Wyznacz dwó jkową zmiennoprzecinkową reprezentację poniż szych liczb dziesiętnych : a) b) c) d) -3,5 0,1 192,5 -112 20 Izabela Szczęch 10 Wprowadzenie do informatyki - ć wiczenia Zakresy liczb w reprezentacji zmiennoprzecinkowej Zakresy liczb zmiennoprzecinkowych § Wyznacz zakres dwó jkowych liczb zmiennoprzecinkowych reprezentowanych na 8-miu bitach (cecha w U2 to najstarsze 4 bity, pozostałe to mantysa w U2 z dwoma miejscami po przecinku). § Poró wnaj wynik z zakresem liczb stałoprzecinkowych reprezentowanych na 8-miu bitach w kodzie znak-moduł z 4 miejscami po przecinku. 22 Izabela Szczęch 11 Wprowadzenie do informatyki - ć wiczenia Zakresy liczb zmiennoprzecinkowych § Wzó r L(FP) = m* 2c przyjmuje wartoś ć maksymalną dla maksymalnej cechy i maksymalnej mantysy. § Cecha przyjmie wartoś ć maksymalną dla kodu: 0111(U2) = 7(10) § Mantysa największą wartoś ć przyjmie dla kodu: 01,11(U2) = 13/4 = 7/4 § Zatem max(FP) = 7/4* 27 = 7/4* 128 = 7 * 32 = 224 23 Zakresy liczb zmiennoprzecinkowych § Wartoś ć najmniejszą uzyskamy dla maksymalnej cechy i minimalnej mantysy. § Cechę maksymalną: 0111(U2) = 7(10) Minimalną mantysę reprezentuje kod: 10,00(U2) = -2(10) § Zatem min(FP) = -2 * 27 = -2 * 128 = -256 § Stąd wszystkie liczby reprezentowane przez nasz kod zawierają się w przedziale: Z(FP) = -256 ... 224 § Na 8-miu bitach w kodzie znak-moduł z 4 miejscami po przecinku moż na reprezentować liczby w przedziału <1111,1111(ZM) ; 0111,1111(ZM)> czyli z przedziału od -715/16 (10) do 715/16 (10). Izabela Szczęch 24 12 Wprowadzenie do informatyki - ć wiczenia Dokładność reprezentacji zmiennoprzecinkowej mantysa 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 11001101 11101111 0000 0001 1/ 0 1/ 4 2 1/ 2 1 3/ 4 11/ 2 1 11/4 2 21/ 2 11/2 13/4 3 31/ 2 -2 -13/4 -11/2 -11/4 -4 -31/ 2 -3 -21/ 2 -1 -3/4 -1/2 -1/4 -2 -11/ -1 -1/2 2 0010 0 1 2 3 4 5 6 7 -8 -7 -6 -5 -4 -3 -2 -1 0011 0 2 4 6 8 10 12 14 -16 -14 -12 -10 -8 -6 -4 -2 0100 0 4 8 12 16 20 24 28 -32 -28 -24 -20 -16 -12 -8 -4 0101 0 8 16 24 32 40 48 56 -64 -56 -48 -40 -32 -24 -16 -8 80 96 112 -128 -112 -96 c 0110 e c 0111 h 1000 a 1001 Izabela Szczęch 0 0 16 32 48 64 -80 -64 -48 -32 -16 0 32 64 96 128 160 192 224 -256 -224 -196 -180 -128 -96 -64 -32 0 1/ 1024 1/ 512 256 3/ 128 3/ 128 0 1/ 512 1/ 1010 0 1/ 256 1/ 1011 0 1/ 128 1100 0 1/ 1101 0 1/ 1110 0 1/ 1111 0 1/ 1/ 256 512 1/ 128 256 1/ 1/ 1024 5/ 1024 5/ 512 256 7/ 512 -1/64 -7/512 -3/256 -5/512 -1/128 -3/512 -1/256 -1/512 128 7/ 256 -1/32 -7/256 -3/128 -5/256 -1/64 -3/256 -1/128 -1/256 128 -1/16 -7/128 -3/64 -5/128 -1/32 -3/128 -1/64 -1/128 512 3/ 64 256 3/ 32 5/ 128 16 5/ 64 3/ 64 32 3/ 64 1/ 32 1/ 16 3/ 32 1/ 8 5/ 16 1/ 8 3/ 16 1/ 4 5/ 1/ 4 3/ 1/ 2 5/ 8 3/ 5/ 1/ 8 1/ 3/ 1024 -1/128 -7/1024 -3/512 -5/1024 -1/256 -3/1024 -1/512 -1/1024 64 7/ 64 3/ 32 7/ 64 -1/8 -7/64 -3/32 -5/64 -1/16 -3/64 -1/32 -1/64 32 3/ 16 7/ 32 -1/4 -7/32 -3/16 -5/32 -1/8 -3/32 -1/16 -1/32 16 3/ 8 7/ 16 -1/ -7/16 -3/8 -5/16 -1/4 -3/16 -1/8 3/ 4 7/ -7/8 -3/4 -5/8 8 3/ 7/ 8 2 -1 -1/2 -3/8 -1/4 -1/16 -1/8 26 13 Wprowadzenie do informatyki - ć wiczenia Dokładność reprezentacji FP § Powyż sza tabela zawiera wszystkie wartoś ci, jakie moż e reprezentować zmiennoprzecinkowy kod przeznaczający po 4 bity na zapis cechy i mantysy w kodzie U2 (w mantysie dwa miejsca są po przecinku). § Są to JEDYNE liczby maszynowe, czyli liczby jakie przy tej reprezentacji moż na dokładnie zapisać w komputerze. Pozostałe liczby wymierne są wyraż ane z pewnym przybliż eniem poprzez wykorzystanie liczb maszynowych. 27 Dokładność reprezentacji FP Zadania: § Przeanalizuj gęstoś ć ułoż enia na osi wartoś ci dziesiętnych odpowiadających dwó jkowym zmiennoprzecinkowym liczbom maszynowym. Zwró ć uwagę, ż e liczb maszynowych w okolicy zera jest stosunkowo wiele, a im dalej od zera tym rzadziej się one pojawiają (inaczej niż przy reprezentacji stałoprzecinkowej, gdzie poszczegó lne liczby maszynowe były od siebie ró wno oddalone). § Okreś l, któ ry element zapisu zmiennoprzecinkowego (cecha czy mantysa) odpowiada za zakres reprezentowanych liczb, a któ ry za ich precyzję? Odpowiedź uzasadnij. Izabela Szczęch 28 14 Wprowadzenie do informatyki - ć wiczenia Nadmiar i podmiar § W reprezentacji zmiennoprzecinkowej nadmiarem nazywamy sytuację, gdy liczba jest tak duż a (co do modułu), ż e nie zawiera się w przedziale liczb reprezentowalnych, a podmiarem sytuację, gdy liczba jest tak mała (co do modułu), ż e musi być reprezentowana przez zero. 29 Arytmetyka w reprezentacji zmiennoprzecinkowej Izabela Szczęch 15 Wprowadzenie do informatyki - ć wiczenia Dodawanie i odejmowanie § Suma lub ró ż nica dwó ch liczb zmiennoprzecinkowych L1 i L2 wynosi: L1 ± L2 = m1 * 2 c1 ± m2 * 2 c2 L1 ± L2 = m1 * 2 c1 * L1 ± L2 = L1 ± L2 = 2 c2 2 c2 m1 * 2 c1 * 2 c2 2 c2 m1 2 c2 * 2 c1 + c2 ± ± m2 * 2 c 2 * ± 2 c1 m2 * 2 c2 * 2 c1 2 c1 m2 2 2 c1 c1 * 2 c1 + c2 m ö æm L1 ± L2 = ç c1 ± c2 ÷ * 2 c1 + c2 è2 2 2 1 ø 31 Dodawanie i odejmowanie § Mantysa sumy (lub ró ż nicy) jest sumą (lub ró ż nicą) mantys liczb wyjś ciowych po wyró wnaniu ich cech czyli po sprowadzeniu ich do wspó lnej cechy 2c1+c2. § Cecha sumy (lub ró ż nicy) jest ró wna sumie cech dodawanych (lub odejmowanych) liczb. § Po wykonaniu operacji arytmetycznej mantysa wyniku jest sprowadzana do postaci znormalizowanej i zapamiętywana w kodzie liczby zmiennoprzecinkowej. 32 Izabela Szczęch 16 Wprowadzenie do informatyki - ć wiczenia Dodawanie i odejmowanie § W systemie dwó jkowym operacja dzielenia przez 2 jest ró wnoważ na przesunięciu wszystkich bitó w zapisu liczby o jedną pozycję w prawo (jak w systemie dziesiętnym podział przez 10). § Z kolei mnoż enie przez 2 odpowiada przesunięciu wszystkich cyfr o jedną pozycję w lewo. § Dzielenie lub mnoż enie przez potęgi liczby 2 jest zatem przesuwaniem wszystkich bitó w o odpowiednią liczbę pozycji (ró wną wykładnikowi potęgi liczby 2) w lewo (mnoż enie) lub w prawo (dzielenie). § Obie operacje są bardzo proste i nie wymagają wykonywania ż adnych działań arytmetycznych (w procesorze realizują je układy zwane rejestrami przesuwnymi - ang. shift registers). 33 Zadania Zadania: Wykonaj poniż sze działania na liczbach zmiennoprzecinkowych, a następnie sprawdź poprawnoś ć obliczeń konwertując liczby na system dziesiętny: a) 11110100(FP) + 11100110(FP) b) 01001000 (FP) + 00111100(FP) c) 01110101(FP) - 01100101(FP) d) 01100101(FP) - 01110101(FP) 34 Izabela Szczęch 17 Wprowadzenie do informatyki - ć wiczenia Rozwią zanie (b) 01001000 (FP) + 00111100(FP) Z zapisu zmiennoprzecinkowego wydobywamy cechy i mantysy obu liczb: c1 = 0100 (U2) = 4; m1 = 10,00 (U2) c2 = 0011(U2) = 3; m2 = 11,00(U2) Pierwszą mantysę musimy podzielić przez 23 zatem bity przesuwamy o 3 pozycje w prawo (brakujące pozycje z przodu wypełniamy jedynkami, bo jest to liczba ujemna; odpowiada to dopisywaniu zer przed liczbą dodatnią): m1 = 1,11000(U2) Drugą mantysę musimy podzielić przez 24, zatem bity przesuwamy o 4 pozycję w prawo: m2 = 1,111100(U2) 35 Rozwią zanie (b) Obliczamy mantysę sumy: 1,11000 + 1,111100 ------------1,101100 m1 + m2 = 1,101100 (U2) Obliczamy cechę sumy: 0100 + 0011 -----------0111 c1 + c2 = 0111 (U2) 36 Izabela Szczęch 18 Wprowadzenie do informatyki - ć wiczenia Rozwią zanie (b) Mantysę sumy sprowadzamy do postaci znormalizowanej: c = 0111(U2) ; m = 1,101100 (U2) – jedynki z przodu liczby ujemnej są nieznaczące (tak jak zera przed liczbą dodatnią), pierwszym miejscem znaczącym jest druga od lewej jedynka. Mamy mieć dwie pozycje przed przecinkiem, musimy zatem przesunąć bity o 2 pozycje lewo i zmniejszyć cechę o 2 c = 0111(U2) -0010(U2) =0101(U2); m = 10,11(U2) Otrzymaną cechę i mantysą łączymy w jeden kod i otrzymujemy wynik operacji dodawania: 01001000 (FP) + 00111100(FP) = 01011011(FP). 37 Rozwią zanie (b) Sprawdźmy, czy wynik jest prawidłowy. W tym celu posługując się tabelką wyznaczamy wartoś ci poszczegó lnych liczb zmiennoprzecinkowych: 01001000 (FP) = -32 00111100(FP) = -8 01011011(FP) =-40 -32+(-8)=-40 - wynik prawidłowy. 38 Izabela Szczęch 19 Wprowadzenie do informatyki - ć wiczenia Nadmiar - przykład Zaobserwuj zjawisko nadmiaru pró bując wykonać dodawanie: 01110101(FP) + 01100101(FP) (czyli 160(10) + 80(10)) Wydobywamy cechy i mantysy: c1 = 0111(U2) = 7; m1 = 01,10(U2) c2 = 0110(U2) = 6; m2 = 01,10(U2) Pierwszą mantysę przesuwamy o 6 bitó w w prawo, a drugą o 7 bitó w w prawo: m1 = 00,000000101 (U2); m2 = 00,00000101 (U2) Sumujemy cechy i mantysy: m1 + m2 = 00,000001111 (U2) ; c1 + c2 = 1101(U2) Nie uda nam się znormalizować mantysy bez utraty precyzji, to nam sygnalizuje problem, któ ry w tym przykładzie wynika z wystąpienia nadmiaru. 39 Utrata precyzji Izabela Szczęch 20 Wprowadzenie do informatyki - ć wiczenia Utrata precyzji Zadanie: Zsumuj duż ą i małą liczbę i przeanalizuj wynik: 01000110(FP) + 00010110(FP) czyli 24(10) + 3(10) 41 Utrata precyzji 01000110(FP) + 00010110(FP) (czyli 24(10) + 3(10)) Wydobywamy cechy i mantysy: c1 = 0100(U2) = 4; m1 = 01,10(U2) c2 = 0001(U2) = 1; m2 = 01,10(U2) Pierwszą mantysę przesuwamy o 1 bit w prawo, a drugą o 4 bity w prawo: m1 = 00,11000(U2); m2 = 00,00011(U2) Sumujemy cechy i mantysy: m1 + m2 = 00,11011(U2); c1 + c2 = 0101(U2) Normalizujemy mantysę wyniku: c = 0100(U2); m = 01,10110(U2) Wynik dodawania: 01000110(FP) + 00010110(FP) = 01000110(FP) = 24(10). 42 Izabela Szczęch 21 Wprowadzenie do informatyki - ć wiczenia Utrata precyzji § Wnioski: suma jest ró wna pierwszej z sumowanych liczb. Dodanie drugiej liczby nie wpłynęło na wynik sumowania. Nastąpiła utrata precyzji. § W systemie zmiennoprzecinkowym sumowanie liczby duż ej z liczbą małą moż e być niedokładne z uwagi na utratę precyzji. Dlatego sumując ciąg liczb zawsze sumujmy od wartoś ci najmniejszych do największych. 43 Standardy reprezentacji zmiennoprzecinkowej Izabela Szczęch 22 Wprowadzenie do informatyki - ć wiczenia Format IEEE 754 § Aby ujednolicić wyniki obliczeń numerycznych wykonywanych na ró ż nych platformach sprzętowych, wprowadzono ś ciś le okreś lony standard zapisu zmiennoprzecinkowego IEEE 754. § Pełna nazwa standardu to: IEEE Standard for Binary Floating-Point Arithmetic § Pierwsza wersja standardu obowiązywała od 1985r, najnowsza, pod nazwą IEEE 754-2008, została opublikowana w sierpniu 2008 § Obecnie praktycznie wszystkie implementacje sprzętowe liczb zmiennoprzecinkowych oparte są o ten standard 45 Format IEEE 754 § Standard IEEE 754(-1985, -2008) definiuje dwie podstawowe klasy binarnych liczb zmiennoprzecinkowych: § binary 32 - pojedynczej precyzji (ang. single-precision) § binary 64 - podwó jnej precyzji (ang. double-precision) Format Bit znaku Bity cechy Bity mantysy 32 bity - pojedyncza 1 bit precyzja 8 bitó w 23 bity 64 bity - podwó jna precyzja 11 bitó w 52 bity 1 bit § Standard IEEE 754-2008 rozszerza też wersję IEEE 7541985 o definicje kilku formató w dziesiętnych liczb zmiennoprzecinkowych Izabela Szczęch 46 23 Wprowadzenie do informatyki - ć wiczenia Format IEEE 754 Reprezentacja zmiennoprzecinkowa IEEE 754 pojedynczej precyzji •bit znaku: 0 oznacza liczbę dodatnią, 1 ujemną •cecha zapisywana jest w kodzie z nadmiarem (dla 8-mio bitowego zapisu nadmiar wynosi 127, zatem w polu cechy moż na zapisać wartoś ci od -127 do 128) •mantysa zapisywana jest w stałoprzecinkowym kodzie U1. 47 Format IEEE 754 § Standard IEEE 754-2008 definiuje nie tylko sposó b reprezentacji liczb, ale takż e: § sposó b reprezentacji specjalnych wartoś ci, np. nieskończonoś ci, zera § sposó b wykonywania działań na liczbach zmiennoprzecinkowych § sposó b zaokrąglania liczb 48 Izabela Szczęch 24