6 - Reprezentarea numerelor în calculator

Reprezentarea numerelor în calculator

1. Informații generale

La proiectarea calculatoarelor, crearea dezvoltatorilor de instrumente și software de aplicație trebuie să abordeze problema reprezentării în datele numerice pe calculator. Pentru cele mai multe aplicații este de obicei suficient pentru a utiliza numere întregi și numere reale. Înregistrarea datelor întregi în memoria calculatorului nu prezintă nicio dificultate: numărul este tradus în binar, și scrise în codul direct. Gama de numere reprezentate în acest caz, este limitat la numărul alocat deversărilor de scriere. două forme de intrări utilizate în mod obișnuit pentru datele reale: Număr punct fix (CHFT) și un flotor (Chpt).

Memoria de calculator este construit din elemente de memorie având două stări stabile, dintre care una corespunde la zero, în timp ce celălalt - unul. Astfel, elementul fizic este reprezentat în memoria calculatorului fiecare bit numere binare (biți). Colectarea unui anumit număr de aceste elemente este utilizat pentru a reprezenta numere binare multi-bit și este grila de calculator biți.

2. Numerele punct fix

Forma unui număr de punct fix a fost utilizat în principal în stadii incipiente de dezvoltare a tehnologiei de calculator. Se înregistrează numărul de puncte fixe are, în general, semnul și un nivel digital. punct fix înseamnă că, în etapa de proiectare a computerului a fost determinat cât de multe și care biți ai cuvântului mașină rezervată pentru imaginea întregului și părți fracționare a unui număr. O grilă de biți virgulă poate fi stabilită, în principiu, orice după descărcare.

Exemplu.
Cell cu o parte integrantă și fracționare.

6 - Reprezentarea numerelor în calculator

Ca un caz special al unui număr de punct fix poate fi considerat o înregistrare a unui întreg (în acest caz, toți biții cu excepția semnului sunt folosite pentru a înregistra întreaga parte).

Exemplu.
O celulă cu un record de un întreg.

6 - Reprezentarea numerelor în calculator

Avantajele folosirii numerelor puncte fixe sunt operații aritmetice simple și numere de imagine de mare precizie. Dezavantajele - o gamă mică de reprezentări de numere.

În cazul în care prezintă un număr de calculatoare instalate în formă naturală de cuvânt lungime de lungime fixă. Distribuția de biți între întreg și părțile fracționare rămâne neschimbată pentru orice numere. În legătură cu cele în informatică există un alt nume pentru forma naturală de reprezentare a numerelor - punct fix (virgulă).

Lucrul pe un calculator, putem introduce numere cu punct fix, în orice formă. De asemenea, acestea vor fi afișate pe ecranul computerului, dar înainte de a intra în memoria calculatorului, acestea sunt convertite în conformitate cu grila de descărcare și stocate fie o virgulă, fixată după ultima cifră (numere întregi) sau punct și virgulă, înainte de biți semnificativă a fracției.

calculatoare moderne funcționează într-un mod de punct plutitoare, dar a salvat și funcționarea punct fix, care este utilizat pentru a reprezenta preimuschemtvenno numere întregi.

De obicei, numere întregi în calculator să ia una, două sau patru octeți. Un obicei atribuit de MSB semnului. Semnul unui număr pozitiv, „+“ este codat la zero, și un semn negativ „-“ - unitatea. numere întregi fără semn în format de doi octeți poate lua valori de la 0 și 16 februarie-1 (65535), și cu semnul „-“ de -2 15-2 15 -1, adică -32,768-32,767.

Toate evacuările trebuie să fie întotdeauna ceva scris, chiar dacă este „nesemnificativ“ zero. Numărul este amplasat astfel încât bitul cel mai puțin semnificativ este scris pe Prvý lungimea de biți cuvânt extremă. De exemplu, numărul zecimal 19 (100112) în grila de 16 biți scrise ca:


Avantajul formei naturale sunt simplitatea și claritatea de reprezentare a numerelor, ușurința de implementare a algoritmilor de operațiuni, și, prin urmare, ușurința de dispozitive și operații de mare viteză.

Un dezavantaj semnificativ de mașini cu reprezentare punct fix este final intervalul de valori. S-ar părea că acest lucru limitează posibilitățile de calculatoare de calcul. Dar, de fapt, durata scurtă a cuvântului duce numai la o scădere a vitezei de mașini: de manipulare a unui număr mare fiind o moda serie-paralel, numerele în sine sunt reprezentate de mai multe cuvinte de mașini, și de a efectua operațiuni de pe ele trebuie să fie programe speciale. Prin urmare, în cazul în care rezultatul calculului într-o formă naturală în afara intervalului, în computerele moderne vor trece automat la prezentarea datelor sub formă de ekspotantsialnoy (dar numai în cazul în care acest lucru este specificat programul).

· Pentru a accelera calculul în locuri care nu necesită mare precizie. Cele mai multe procesoare moderne FZ hardware-ul nu este pus în aplicare, dar chiar și FZ software-ul foarte repede - de aceea este folosit în tot felul de motoare de joc, rasterizerul [1], etc. De exemplu, motorul de Doom pentru măsurarea distanțelor folosind punct fix 16.16, pentru a măsura .. unghiuri - 360 ° = 65,536.

· Pentru a înregistra numere, care prin natura lor au o eroare absolută constantă: coordonatele în cadrul programelor de aspect, sumele de bani. De exemplu, fișierele TeX metrice de font utilizați pe 32 de biți de tip semnat punct fix (12,20).

o În plus, punctul fix se comportă absolut previzibil - atunci când se numără banii pe care îi permite să se stabilească diferite tipuri de rotunjire, și în jocuri - cel mai simplu mod de a pune în aplicare multiplayer și post se repetă.

1. Se determină valoarea maximă a numerelor întregi semnate și atunci când reprezentarea lor fără semn 8- și 32-biți.

3. Numerele în virgulă mobilă (separate)

Dezavantajul reprezentării numerelor în formă de punct fix pare să rezolve problemele care apar, numere foarte mici sau foarte mari. Specifice probleme fizice, matematice și alte tipuri de o serie de valori de schimbare poate fi, de exemplu de la 10 -30-10 30. Se poate observa că introducerea punctului fix ar avea nevoie de lungimea cuvânt binar de aproximativ 256 biți (32 octeți) de 128 biți pentru întreaga și părți fracționare. Cu toate acestea, calculatoarele lucra cu operanzi de această lungime ar fi extrem de ineficient.

de precizie nu este determinată de lungimea sa, iar numărul de cifre semnificative corecte.

Precizia rezultatul calculului expresiilor care conțin mai multe numere, este determinată de regulă, în numărul care are cel mai mic număr de cifre semnificative corecte. De aceea, foarte rar utilizat pentru mai mult de trei cifre semnificative în calculele practice în mod adecvat rezultatele intermediare rotunjite. Este clar că stocarea în memoria calculatorului a numerelor cu un număr mic de cifre semnificative este oportun să le reprezinte în formă exponențială. În exemplu, acest punct de vedere s-ar putea arata ca:

4,72 × 10 5, 472 x 10 martie; 4720 x 10 2 microni

4,72 x 10 -4; 47,2 x 10 -5; 472 x 10 -6 km.

Acest exemplu arată, de asemenea, că poziția punctului zecimal poate fi schimbat. Prin urmare, în reprezentarea pe calculator a numărului de calculatoare sub forma exponențială numită reprezentare în virgulă mobilă (virgulă).

Reprezentarea numerelor sub formă de virgulă mobilă este foarte utilă pentru rezolvarea problemelor științifice și inginerești. Reprezentarea normalizată numerelor permite nu numai să salvați în numărul grila de descărcare mare de cifre semnificative, dar, de asemenea, simplifică modul de funcționare a procedurii și Mantis.

Pentru reprezentarea numerelor punctelor flotante (Chpt) utilizate notație semilog de:

în care q - radix, p - numărul de ordine, m - numărul mantisa N.

Poziția punctului valoarea comenzii p determinată. Odată cu schimbarea în ordinea punctelor se mută (flotoare) la stânga sau la dreapta.

= 12,5 * 12510 10 1 = 1.25 * 10 2 = 0125 * 10 3 = 0,0125 * 10 = 4.

Pentru a stabili unicitatea numerelor adoptate în cazul în care forma normalizată a numărului. Numărul mantisei normalizate poate varia în intervalul de la 1 / q ≤ | m | <1. Таким образом в нормализованных числах цифра после точки должна быть значащей.

Pentru reprezentarea numerelor într-un cuvânt mașină alocă biți pentru comanda mantisa grup de imagine, semnul și ordinea semnului:


a) reprezentarea numerelor într-un format de jumătate de cuvânt

6 - Reprezentarea numerelor în calculator

b) reprezentarea numerelor în format Word


Cel mai tipic Chpt prezentare în format Word (32 de biți).
Exemplu.
Numărul A = = = -11.12 -3.510 -0.111 10 10

Numărul maxim reprezentabil în formatul cuvânt este A = (0.1111. 1 · 10 1111111) 2 (1 2 · 127) 10.

Astfel, o gamă de virgulă flotantă poate mări numărul de prelucrat, dar precizia este determinată numai numerele imaginilor de biți mantisei și descrește în comparație cu numere de punct fix. Când se înregistrează numărul de cuvinte într-un format de numere reprezentabile va varia de la -1 · 2127-1 · 127 2 (2 127 10 38), iar precizia mantisei determinată, care constă din 23 de biți. Precizia poate fi îmbunătățită prin creșterea numărului de biți mantisei. Acest lucru se realizează prin prezentarea numerelor la așa-numita dublu-precizie (folosiți formatul cuvânt dublu):

6 - Reprezentarea numerelor în calculator

Calculatorul efectuează operații aritmetice cu numere normalizate?

La începutul executării operații aritmetice pași operanzi sunt plasate în registrele corespunzătoare ALU.

Adunare și scădere

Prin adăugarea și scăderea de operare pregătitoare numite ordine de aliniere efectuate mai întâi.

In timpul ordinea de aliniere a mantisei este deplasată la un ordin inferior într-un registru la dreapta prin numărul de biți egal cu diferența dintre ordinele operanzilor. După fiecare procedură de schimbare incrementat.

Ca rezultat, un număr de ordine de egalizare nivel de același nume sunt aranjate în biții respectivi ai ambelor registre, apoi se adaugă sau se scade mantise. Dacă este necesar, acest rezultat este normalizată prin deplasarea spre stânga a rezultatului mantisă. După ce a părăsit-deplasarea fiecare comandă rezultat decrementat.

Exemplul 1. Fold normalizat număr binar 0.10111. 1 și 2 0.11011. 10. Diferența dintre cei doi termeni aici comenzi este de trei, astfel încât înainte de adăugarea mantisei este mutat la primele trei cifre la dreapta:

Exemplul 2. Se efectuează scădere binar numere normalizate 0.10101. La 10 februarie și 0.11101. 1. Diferența dintre cele două ordine Descăzut și Scăzător aici este unitatea, astfel încât mantisa înainte de scăderea al doilea număr este deplasat de către un bit spre dreapta:

Rezultatul nu a fost normalizat. Prin urmare, mantisa este deplasat stânga cu doi biți, cu o scădere corespunzătoare în ordinea a două unități: 0.1101. 2 0.

Multiplicarea a două numere normalizate, se adaugă ordinele lor și înmulțit mantisa.

articole similare