IEEE 754

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

IEEE 754 – standard reprezentacji binarnej i operacji na liczbach zmiennoprzecinkowych (IEEE floating-point standard), implementowany powszechnie w procesorach i oprogramowaniu obliczeniowym.

Dwójkowy system liczbowy, system binarny, bin – pozycyjny system liczbowy, w którym podstawą jest liczba 2. Do zapisu liczb potrzebne są tylko dwie cyfry: 0 i 1.Procesor (ang. processor), także CPU (ang. Central Processing Unit) – urządzenie cyfrowe sekwencyjne, które pobiera dane z pamięci, interpretuje je i wykonuje jako rozkazy. Wykonuje on ciąg prostych operacji (rozkazów) wybranych ze zbioru operacji podstawowych określonych zazwyczaj przez producenta procesora jako lista rozkazów procesora.
Reprezentacja zmiennoprzecinkowa IEEE-754 single

Liczbę pojedynczej precyzji w formacie IEEE-754 zapisujemy za pomocą trzydziestu dwóch bitów. Pierwszym bitem jest bit znaku S (sign). Jeśli liczba jest ujemna, oznacza to, iż S przyjmie wartość 1. Jeśli jest dodatnia S jest równe zero. Dalej następuje 8 bitów kodujących wykładnik 2 (cecha), przy czym kodowanie cechy jest kodowaniem z nadmiarem (BIAS, w tym przypadku BIAS=127) co daje zakres wykładników przy czym najmniejsza i największa wartość wykładnika ma znaczenie specjalne (patrz niżej szczególne przypadki). Kolejne 23 bity to mantysa liczby, przy czym pomija się wiodący, niezerowy bit. Daje to około 7–8 dziesiętnych miejsc znaczących i zakres od około ±1.18·10 do około ±3.4·10. Zakres taki może wydawać się wystarczający w prostych obliczeniach, lecz jego użycie nastręcza trudności, gdy istnieje potrzeba stosowania niektórych stałych fizycznych (jak np. stała Plancka), często też może prowadzić do występowania błędów przepełnienia podczas obliczeń pośrednich, jeśli ich wynik wykroczy poza reprezentowany zakres.

Instytut Inżynierów Elektryków i Elektroników, IEEE (od ang. Institute of Electrical and Electronics Engineers) – organizacja typu non-profit skupiająca osoby zawodowo związane z elektrycznością i elektroniką, a także pokrewnymi dziedzinami. Powstała w 1963 roku, w wyniku konsolidacji Amerykańskiego Instytutu Inżynierów Elektryków (American Institute of Electrical Engineers, AIEE) oraz Instytutu Inżynierów Radiowych (Institute of Radio Engineers, IRE). Jednym z podstawowych jej zadań jest ustalanie standardów dla urządzeń elektronicznych, w tym standardów dla urządzeń i formatów komputerowych. Stała Plancka (oznaczana przez h) jest jedną z podstawowych stałych fizycznych. Ma wymiar działania, pojawia się w większości równań mechaniki kwantowej.

Oprócz tego zdefiniowano szczególne przypadki:

  • +0 – wszystkie bity są zerami (wykładnik jest równy -127 w kodzie z nadmiarem lub zero w kodzie binarnym),
  • −0 – bit znaku jest ustawiony, reszta jest zerami (tu także wykładnik jest równy -127 w kodzie z nadmiarem lub zero w kodzie binarnym)
  • liczby małe – ang. denormalized numbers lub coraz częściej subnormal numbers – wykładnik jest równy -127 w kodzie z nadmiarem lub zero w kodzie binarnym, mantysa różna od 0, nie zakłada się wiodącego niezerowego bitu; są to liczby zbyt małe aby mogły być reprezentowane z taką samą precyzją jak „zwykłe” liczby
  • – ustawione wszystkie bity wykładnika (wykładnik jest równy 128 w kodzie z nadmiarem lub 255 w kodzie binarnym), mantysa równa 0, może się pojawić np. jako wynik dzielenia przez 0
  • NaN – ang.: Not a Number, ustawione wszystkie bity wykładnika (wykładnik jest równy 128 w kodzie z nadmiarem lub 255 w kodzie binarnym), mantysa różna od 0, może się pojawić np. jako wynik pierwiastkowania liczby ujemnej. Definiuje się także „ciche” i „głośne/sygnalizujące” nie-liczby. Różnią się one tym, że w „cichych” nie-liczbach najstarszy bit mantysy jest równy 1, a w „głośnych/sygnalizujących” jest on równy 0. Pozostałe bity mantysy mogą być dowolne (można je wykorzystać do zakodowania typu napotkanego błędu).
  • Standard definiuje również liczby podwójnej precyzji, których zapis składa się z 64 bitów, przy czym na wykładnik przypada 11 bitów (BIAS=1023), a na mantysę 52 bity (oraz wiodąca pominięta jedynka). Liczby podwójnej precyzji reprezentują około 16 dziesiętnych miejsc znaczących a ich zakres stosowalności rozciąga się od około ±2.2·10 do około ±1.8·10. W czasach, gdy popularne komputery nie miały koprocesorów matematycznych koszt prowadzenia obliczeń w pojedynczej precyzji był znacząco niższy od kosztu obliczeń w podwójnej precyzji, więc mimo oczywistych niedostatków powszechnie korzystano z tych pierwszych. Obecnie jednak ta różnica nie jest aż tak znacząca i obliczenia w podwójnej precyzji są znacznie częściej stosowane.

    Kod z przesunięciem (kod z obciążeniem, kod spolaryzowany, kod bias, excess-N) jest sposobem zapisu liczb. Opiera się na idei przyporządkowania każdej liczbie (najczęściej całkowitej) pewnej liczby nieujemnej, poprzez dodanie do zamienianej liczby pewnej wartości N. System koduje liczbę -N jako zero, jej następnik jako 1 itd., można go więc rozumieć jako funkcję liniową Parser nie mógł rozpoznać (Błąd konwersji. Serwer („https://pl.wikipedia.org/api/rest_”) zgłosił: „Cannot get mml. Server problem.”): y=x+N , gdzie y to zapis liczby z przesunięciem, x to dane wejściowe, zaś N wartość przesunięcia.Liczba zmiennoprzecinkowa – reprezentacja liczby rzeczywistej zapisanej za pomocą notacji naukowej. Ze względu na wygodę operowania na takich liczbach, przyjmuje się ograniczony zakres na mantysę i cechę – nazwy te mają w matematyce znaczenie podane w artykule podłoga i sufit, a w niniejszym artykule inne, powszechne w informatyce. Powoduje to, że reprezentacja liczby rzeczywistej jest tylko przybliżona, a jedna liczba zmiennoprzecinkowa może reprezentować różne liczby rzeczywiste z pewnego zakresu.

    Istnieją też inne formaty liczb zmiennoprzecinkowych, jak np. 10-bajtowe (obsługiwane sprzętowo przez popularne procesory kompatybilne z x86), 16-bajtowe (procesory przeznaczone na rynek superkomputerów), jak też i formaty o mniejszej precyzji, używane m.in. przez procesory graficzne.

    Superkomputer – komputer znacznie przewyższający możliwościami powszechnie używane komputery, w szczególności dysponujący wielokrotnie większą mocą obliczeniową. Określenie to pojawiło się w latach 60. w odniesieniu do komputerów produkowanych przez CDC i później przez firmę Cray. Były one produkowane w dziesiątkach egzemplarzy i kosztowały po kilka milionów dolarów. Współcześnie większość superkomputerów to pojedyncze egzemplarze, zaprojektowane i wyprodukowane na zamówienie, zazwyczaj z seryjnie produkowanych procesorów i innych podzespołów. Koszty ich produkcji sięgają miliarda dolarów. Od czerwca 2013 najszybszym superkomputerem na świecie jest Tianhe-2, zbudowany w Chinach.Pierwiastkowanie – w matematyce operacja odwrotna względem potęgowania. Ponieważ często istnieje wiele liczb (tzw. pierwiastki algebraiczne), które podniesione do pewnej potęgi dają daną liczbę, to pierwiastkowanie nie może być w ogólności nazwane działaniem; często można jednak ograniczyć dziedzinę działania potęgowania tak, by możliwe było jego odwrócenie (dając tzw. pierwiastki arytmetyczne).

    Zobacz też[ | edytuj kod]

  • Liczba zmiennoprzecinkowa – podstawa matematyczna
  • IEEE
  • Linki zewnętrzne[ | edytuj kod]

  • Kalkulator przeliczający liczby zmiennoprzecinkowe w standardzie IEEE 754 (ang.)




  • Warto wiedzieć że... beta

    Bit (w ang. kawałek, skrót od binary digit, czyli cyfra dwójkowa) – najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie prawdopodobnych stanów przyjął układ. Jednostka logiczna.
    Dzielenie przez zero − w matematyce dzielenie, w którym dzielnik jest zerem; jako takie nie ma ono sensu, przez co bywa źródłem błędów obliczeniowych, często ukrytych.
    x86 – rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem 8086, który z kolei wywodził się z 8-bitowego układu 8085. Nazwa architektury wywodzi się od nazw pierwszych modeli z tej rodziny, których numery kończyły się liczbą 86.

    Reklama