• Realni brojevi dvostruke točnosti Deklaracija u programskom jeziku C: double
  • Binarni brojevni sustav




    Download 104.5 Kb.
    bet8/8
    Sana04.04.2017
    Hajmi104.5 Kb.
    #3023
    1   2   3   4   5   6   7   8
    Numeričke pogreške
    Nemogućnost korištenja svih bita kod računanja

    Primjer: 0.000110 + 0.990010

    0.000110 : (1.)101000110110111000101112 * 2-14

    0.990010 : (1.)111110101110000101000112 * 2-1
    Kod zbrajanje, binarne točke moraju biti poravnate:

    .000000000000011010001101 * 20 Samo 11 od 24 bita!

    +.111111010111000010100011 * 20

    .111111010111011100110000 * 20 = 0,990099906921410
    Realni brojevi dvostruke točnosti
    Deklaracija u programskom jeziku C: double
    63 62 52 51 0

    P Karakteristika (11 bita) Mantisa





    P

    predznak ( P=1 negativan, P=0 pozitivan)

    Karakteristika

    binarni eksponent + 1023 (11 bita)

    Mantisa

    normalizirana (52+1 bit).

    Raspon:
    K  [0,2047].

    BE = K - 1023

    BE  [-1022,1023]


    Specijalni slučajevi: K=0 i K=2047
    Kada je K = 0 i svi bitovi mantise nula radi se o broju nula

    Kada je K = 0 i postoje binarne frakcije u mantisi tada je to denormalizirani broj, tj. više ne postoji skriveni bit

    Kada je K = 2047 i svi bitovi mantise nula radi se o prikazu +∞ ili -∞ ovisno o predznaku P

    Kada je K = 2047 i postoje binarne frakcije u mantisi tada se ne radi o prikazu broja (Nan)


    Najmanji pozitivni broj različit od nule koji se može prikazati je:
    0.0000 ...0012 * 2-1022 što je 4.9406 * 10-324
    a najveći je:

    1.1111.....1111112 * 21023 21024 = 1.797693134862316*10308


    Točnost: 53 binarne znamenke
    253 10x  53 log 2  x log 10  x  53 log 2  15.95458977019

    tj. približno 16 prvih važećih točnih znamenki.

    Postoji još i long double, međutim, njegova veličina ovisi o platformi, pa se tako mogu naći implementacije u kojima je njegova veličina 64,80,96 ili 128 bita. ANSI standard propisuje da nije manji od double broja. Primjer raspodjele ako je njegova veličina 80 bita:
    long double 80 bita
    Karakteristika: 15 bita

    Binarni eksponent: Karakteristika – 16383



    Realne konstante
    1. 2.34 9e-8 8.345e+25 double

    2f 2.34F -1.34e5f float



    1.L 2.34L -2.5e-37L long double

    Download 104.5 Kb.
    1   2   3   4   5   6   7   8




    Download 104.5 Kb.