stocare a informațiilor de numere reale în memoria calculatorului - studopediya

Când scrieți numere fractionare să acorde o atenție la exactitatea performanței lor, și anume, numărul de cifre semnificative.

Există două tipuri de reprezentări de numere reale:

1. punctul Floating, punctul - normal de înregistrare:

Bazat pe notația normală (exponențială). Numărul apare sub forma de:

x = ± m # 8729; n p. unde m - mantisa p - ordine, n - bază.

Reprezentarea numărului de virgulă mobilă este diferit.

Exemplu: = 0.123456 * 12.3456 10 2 = 1234.56 * 10 -2.

Poziția punctului p din mantisa determinat ordinul de mărime cu o schimbare în ordinea punctelor se deplasează mai mici sau mai la dreapta sau la stânga, adică, „Plutește“ în numărul de imagine.

Normalizarea la introducerea și numerele în calculele efectuate în mod automat. În acest caz, mantisa este deplasat spre stânga de numărul necesar de cifre. Există o creștere a ordinului respectiv. Când adăugați numărul normal de același ordin, poate exista un pic depășire a grilei (1 apare în stânga punctului zecimal). Acest tip de depășire exclus trecerea mantisa din stânga de 1 bit și o creștere de ordinul a 1 unitate. Această corecție se numește normalizarea dreptului.

Mantisă trebuie să satisfacă condiția: 0,1N ≤ m <1, т.е. быть меньше 1 и первая значащая цифра не равна нулю. В памяти компьютера мантисса хранится как целое число, содержащее только значащие цифры. Таким образом, представление вещественного числа сводится к представлению пары целых чисел: мантиссы и порядка.

Exemplu. 4 byte locație de memorie - 24 biți pentru mantisă.

1st octet conține comanda nativ este stocat în cel mai semnificativ bit al semnului. În ordine atribuit 7 biți (2 7 = 128). 128 pot primi valori de interval de valori ordine. Procedura poate fi pozitiv sau negativ (-64 ... + 63).

Reprezentarea mașinii a procedurii este deplasată în raport cu matematice și are doar valori pozitive. Compensarea se formează la valoarea matematică minimă de ordin corespunde zero (0) între motor și ordinea matematică .Svyaz: PT = p + 6410.

Pentru a înregistra reprezentarea internă a unui număr real ar trebui să fie:

1. Se pare unitatea de numerele din sistemul binar cu 24 cifre semnificative.

2. Normalizarea număr binar.

3. Găsiți o comandă auto.

4. Ținând cont de semnul numărului pentru a înregistra performanțele sale într-o mașină de cuvânt de 4 octeți.

Exemplu. 250.187510 - să înregistreze reprezentarea internă a unei celule de 4 octeți.

1. Conversia în sistem binar cu 24 cifre semnificative 250.187510 = 11111010, 0011000000000000002 (număr de cifre înainte punctului zecimal = 810 = 10002).

Scrisă sub forma punctului flotare binar normalizat 0,1111 1010 0011 0000 0000 0000 * 10 1000 2.

Acolo mantisă radix (210 = 102) și procedura (810 = 10002) sunt scrise în binar.

comanda motorului Compute: M = 10002 +100 00002 = 100 10002

Scriem o celulă de 4-byte cu semn:

2. Punct fix, punctul - o intrare naturală:

Toți biții cu excepția semnul celulei sunt folosite pentru numere de biți de imagine, fiecare celulă bit corespunde cu același număr de cifre, care stabilește locația unui anumit punct, înainte de descărcare. Acest sistem simplifică aritmetica, dar limitează drastic gama de numere care pot fi reprezentate în acest tip. Gama - 1

Atunci când se lucrează cu numere reale de reținut:

1. Numerele Când se înregistrează erori apar, care crește pe măsură ce operațiunile.

2. Nu este rezonabil să se compare două numere reale pentru egalitate exactă.

3. Ca urmare a scăderea posibila pierdere a preciziei.

4. „+“ sau „-“ un număr mic nu poate afecta rezultatul.

5. Obținerea unui număr foarte mare poate provoca o depășire a ordinului, dar foarte mică - dispariția unui număr.

Intervalul de valori de numere reale mai mare decât întregul. Cel mai mic dintre valoarea absolută a numărului este 0, iar cea mai mare în valoare absolută, numărul de mantisă cu cel mai mare și mai mare ordine. Setul de numere reale în format floating point este limitat și discret. Numărul de numere reale, reprezentate cu acuratețe în memorie este calculată cu formula N = 2 t * (Mp max = Pmin + 1) + 1, unde

T - numărul de biți mantisei

Pt max - valoarea maximă a comenzii matematice.

Pmin - valoarea minimă a comenzii matematice.

Exemplu. pentru celula de 4 octeți

Pt max = 63, t = 24, Pmin = -64,

Precizia numărului - numărul de cifre semnificative care reușește să-și păstreze un număr limitat de locuri.

Tipuri de date reale în Pascal: