Numerele sub forma unui punct plutitor

Deficiențele Legii este în mare măsură sub formă liberă de reprezentare în virgulă mobilă (PP), de asemenea, cunoscut sub numele de normal sau sunt sub formă lulogarifmicheskoy. În această realizare, fiecare număr este împărțit în două grupuri de cifre. Primul grup de numere este numit mantisei, al doilea - ordinul. Numărul este reprezentat ca un produs al X = mq ± ± p, unde m - numărul de mantisei X, p - numărul de comandă, q - radix.

Pentru a reprezenta numărul sub forma literei flotare pe care doriți să setați mantisa și semnele într-un rând, modulele lor în codul-q ary, precum radix (fig. 8.7). Forma normală este ambiguă, deoarece comerțul-t-IL duce la „plutitoare“ punct, care este motivul pentru care numele acestui formular.

Fig. 8.7. Prezentarea numerelor în virgulă mobilă.

Gama și precizia numerelor cu PT depind de numărul de cifre de-reductibilă la comanda si mantisa. În afară de ordinea de biți și reprezentarea mantisa sitelor numerelor telemetrare dependență și de la baza sistemului numeric utilizat, care poate fi diferențiată de NYM 2. De exemplu, în universal compania BM (mainframe) IBM folosind etsya de bază 16. Aceasta permite același număr de biți, desemnate prin numere de ordine reprezintă un interval mai mare. Astfel, în cazul în care ordinea de câmp este egal cu 7 biți, QP valoare maximă, care este multiplicat în mantisei, egală cu 2 128 (pentru (q = 2) sau 16.128 (când q = 16) și reprezentarea numerelor game, respectiv, dar cantitatea de 10 -19 <|Х| <10 +19 и 10 -76 <|Х| <10 +76. Известны также случаи использо-вания базы 8, например, в ВМ В-5500 фирмы Burroughs.

Cele mai multe calculatoare pentru a simplifica operațiunile de ordine în ultima kami ar conduce la un număr întreg pozitiv, folosind ordinea de compensare așa-numita-emy. Pentru a face acest lucru, întregul este un număr pozitiv, se adaugă la adevărata ordine - (. Figura 8.8) de deplasare. De exemplu, pentru a compensa 128 -3 125 este reprezentat ca (-3 + 128). Tipic offsetul este ales egal cu jumătate din ordinul gama reprezentabile. Rețineți că ordinea câmpului de compensare ocupă biții de ordine, inclusiv cel care este-folosit mai devreme pentru înregistrarea mărcii comenzii.

Ris.8.8.Forma numărul cu PP cu ordinul deplasat

Mantisa în număr în virgulă flotantă reprezentat de obicei într-o formă normalizată. Acest lucru înseamnă că mantisa a impus astfel de condiții încât ea a fost mai mult de un modul (| q | <1), а первая цифра после точки отличалась от нуля. Полу-ченная таким образом мантисса называется нормализованной. Для применяемых в ВМ систем счисления можно записать:

Dacă primele cifre ale mantisei i egal cu zero, este necesar pentru normalizarea traducerilor-nut în ceea ce privește punctul i biți la stânga în timp ce descrescătoare în i unități. Ca urmare a unei astfel de operațiuni, numărul nu este schimbat.

În exemplul unui sistem hexazecimal după normalizare cifre semnificative în reprezentare binară cuprinde un front trei zerouri (0001). Acest lucru este oarecum Reduceți-cutele acuratețea reprezentării numerelor în comparație cu sistemul binar la numărul odi-același de biți alocate pentru mantisei.

Atunci când înregistrarea PP utilizat cu baza 2 (q = 2), apoi o altă metodă utilizată în mod frecvent de a îmbunătăți acuratețea reprezentării mantisei, numite la-emom unități ascunse. Esența este că într-o mantisă normalizată cifră semnificativă este întotdeauna egală cu unu (zero este utilizat pentru a reprezenta un cuvânt de cod special), prin urmare, această cifră nu poate fi înregistrată, iar subminării-zumevatsya. Înregistrarea mantisă începe a doua cifră sa, iar acest lucru permite o actualizare în continuare ei înșiși biți zadey-semnificativă la o reprezentare mai exactă a numărului. Trebuie remarcat faptul că ordinea importanței, în acest caz, nu se schimba. Unitatea Latent înainte de a executa operațiile aritmetice este redusă, iar rezultatul înregistrării - este eliminat. Astfel, mantisa normalizată este 0.101000 (1), prin utilizarea metodei de „unitate ascunsă“ este de forma 0.010001 (cifrele din paranteze nu se încadrează în domeniul mantisă când mill-standard de înregistrare).

Pentru o creștere mai semnificativă a preciziei prin calcularea numărului de cuvinte de mașini retrase de mai multe, de exemplu două. Biții suplimentari sunt în general utilizate pentru a crește mantisei biți, dar în unele cazuri, unele dintre ele pot fi hrănite și pentru a extinde ordinea câmpului. În procesul de calcul număr unnormalized poate fi obținut. În acest caz, VM dacă acesta este prescris de către echipa, normalizeaza automat.

Principiile de reprezentare a numerelor cu PZ explica cu un exemplu. Ris.8.9 pe 32 de biți format tipic numărul punctului plutitor. Senior (Le-st) biți cuprinde semnul numărului. Valoarea offset este stocată în ordinea de biți de la 1 la 8-lea și poate varia de la 0 la 255. Pentru cineva faktiches de ordin valori din conținutul acestui câmp trebuie să se scade o valoare fixă ​​egală cu 128. Cu o astfel de compensare valorile reale ale ordinului poate se află în intervalul -128-127. Exemplul presupune că baza B Stem radix este 2. Al treilea câmp conține cuvintele normalizate Mantis-sous descărcare ascunse (unitate). Datorită astfel de câmp de recepție de 23 biți pentru a stoca o mantisă de 24 biți în intervalul de la 0,5 la 1,0.

Fig. 8.9. Un format tipic pe 32 de biți numere în virgulă mobilă.

Fig. 8.10 prezintă intervalele de numere care pot fi înregistrate cu o putere de cuvinte pe 32 de biți.

Numerele sub forma unui punct plutitor

Fig. 8.10. Numerele care pot fi reprezentate în formate pe 32 de biți, și - întreaga-un punct fix; b - un număr în virgulă flotantă.

În varianta de realizare cu numerele întregi FZ în reprezentarea complementului lui doi poate fi-Lena toate numerele întregi de la -2 31-2 data de 31 - 1, adică, numai 2 din 32 de numere diferite (a se vedea figura 8.10, și ..). În cazul PP, numărul următor variază (a se vedea figura 8.10, b ..):

numere negative între - (1 - 2 -24) 2 x 127 și 0,5 x 2 -128;

Numerele pozitive între 0,5 și -128 x 2 (1 - 2 -24) x 2,127.

În acest domeniu nu include cinci domenii:

Numerele negative mai mici - (1-2.24) × 2 127 - completează re negativ;

numere negative mai mari de -0.5 x 2 -128 - pierdere negativă ZNA-chimosti;

număr pozitiv mai mic de 0,5 x 2-28- pozitiv pod pierderi considerabile;

sunt numere pozitive mai mari decât (1 - 2-2a) x 2127 - depășire pozitivă.

Ilustrată numerele de înregistrare PP ignoră zero. În acest scop, un cuvânt de cod special. Overflow are loc atunci când, ca urmare a valorii obținute operații aritmetice mai mare de 127 poate depune ordinul (2120 x 2100 = 2230). underflow - când rezultatele tat este o valoare prea mică fracționată (x 2 -120 2 -100 = 2 -230). Este o problemă pentru curentul inferior mai puțin gravă, deoarece rezultatele unei astfel de TAT considerate de obicei ca fiind zero.

De asemenea, trebuie remarcat faptul că numerele sub forma unui PP, spre deosebire de numere întregi în formă cu FZ plasat pe axa reală inegal. Valorile posibile la începutul axei reale sunt aranjate dens, și așa cum se deplasează spre dreapta - toate mai puțin (ris.8.11). Acest lucru înseamnă că multe calcule conduc la un rezultat care nu este corectă, atunci există Rotunjirea la valori mai apropiat-TION, care pot fi reprezentate sub formă de înregistrări.

Fig. 8.11. Densitatea punctului plutind pe axa reală.

Pentru formatul prezentat în ris.8.9, există o contradicție între dia-pazonom și precizie. Dacă măriți numărul de biți alocați pentru comandă, dis-lărgirea interval de numere reprezentabile. Cu toate acestea, după cum poate fi reprezentat Leno, doar un număr fix de valori diferite, densitatea scade și astfel precizia. Singura modalitate de a crește atât raza de acțiune și punct-Ness - o creștere a numărului de biți, astfel încât în ​​cele mai multe BM-camping oferă de a utiliza numerele din formatele single și duble. De exemplu, formatul de număr staționar-odi poate ocupa 32 de biți, și dublu - 64 biti.

Numerele in virgula mobila in diferite VM au ușor diferite formă-ing. Tabel. 3.1 Principalii parametri de reprezentare a mai multor sisteme de împăcării a numerelor sub forma unui PP. În prezent, pentru toate mașinile virtuale recomandat stan-dard dezvoltat de un centru internațional recunoscut al IEEE (Institute of Electrical and Electronics Engineers).

Tabelul 8.1. Număr de opțiuni formate în virgulă mobilă