4.1 Numere în computer

Computerele digitale sunt foarte competente în stocarea și rechemarea numerelor; din păcate, acest proces nu este fără eroare. De exemplu, instruiți computerul să stocheze numărul: 1,41421356. Calculatorul face tot posibilul, stocând cel mai apropiat număr pe care îl poate reprezenta: 1,41421354. În unele cazuri, această eroare este destul de nesemnificativă, în timp ce în alte cazuri este dezastruoasă. Ca o altă ilustrare, o eroare computațională clasică rezultă din adunarea a două numere cu valori foarte diferite, de exemplu, 1 și 0,00000001. Ne-ar plăcea răspunsul să fie 1,00000001, dar calculatorul răspunde cu 1. O înțelegere a modului în care computerele stochează și manevrează numere vă permite să anticipați și să corectați aceste probleme înainte ca programul dvs. să genereze date fără sens.

Aceste probleme apar deoarece un număr fix de biți este alocat pentru a stoca fiecare număr, de obicei 8, 16, 32 sau 64. De exemplu, considerați cazul în care opt biți sunt utilizați pentru a stoca valoarea unei variabile. Deoarece există 28 = 256 modele posibile de biți, variabila poate lua numai 256 valori diferite. Aceasta este o limitare fundamentală a situației și nu putem face nimic în legătură cu aceasta. Partea ce putem controla este ce valoare declarăm pentru a reprezenta fiecare model de biți. În cele mai simple cazuri, modelele de 256 de biți pot reprezenta numerele întregi de la 0 la 255, 1 la 256, -127 până la 128, etc. Într-o schemă mai neobișnuită, modelele de 256 de biți ar putea reprezenta 256 numere exponențiale: 1, 10, 100, 1000, …, 10254, 10255. Oricine accesează datele trebuie să înțeleagă ce valoare reprezintă fiecare model de biți. Aceasta este de obicei furnizată de un algoritm sau o formulă pentru conversia între valoarea reprezentată și modelul de biți corespunzător și din nou înapoi.

Deși multe scheme de codare sunt posibile, numai două formate generale au devenit comune, virgula fixă (numit și numere întregi) și virgulă mobilă (numit și numere reale). În programele BASIC ale acestei lucrări, variabilele în virgulă fixă sunt indicate de simbolul % ca ultimul caracter din nume, cum ar fi: I%, N%, SUM% etc. Toate celelalte variabile sunt în virgulă mobilă, de exemplu: X, Y, MEAN etc. Când evaluezi formatele prezentate în următoarele câteva pagini, încearcă să le înțelegi în funcție de gama lor (cele mai mari și mai mici numere pe care le pot reprezenta) și de precizia lor (dimensiunea diferențelor între numere).

Secțiunea următoare: Virgulă fixă (întregi)