Variabile numerice și tipuri de date

Variabile numerice și tipuri de date

Unul dintre cele mai mari obstacole este cantitatea de memorie RAM și viteza calculatorului. Programatorul trebuie întotdeauna să se gândească cum să reducă nevoia de memorie a programului. O modalitate de a rezolva această problemă este de a limita numărul de variabile utilizate în program sau de a reduce dimensiunea celulelor de memorie pentru a le stoca.







Știți deja cum să declarați variabilele de tip întreg și tip de material. Pe lângă aceste variabile, există și alte tipuri de date în sistemul Delphi. Ele diferă una de alta numai în dimensiunea memoriei necesare pentru stocarea acestora și, în consecință, intervalul de numere care pot fi stocate în aceste variabile. Astfel, programatorul poate selecta tipul numeric necesar și poate folosi memoria rațional. Deci, care sunt tipurile de date.

Orice date, adică constantele, variabilele, proprietățile, valorile funcțiilor sau expresiile din Delphi sunt caracterizate de tipurile lor. Un tip defineste setul de valori valide pe care un obiect le poate avea, precum si setul de operatii valabile care se aplica. În plus, tipul definește și formatul reprezentării interne a datelor în memoria PC-ului.

Delphi se caracterizează printr-o structură ramificată de tipuri de date:

Variabile numerice și tipuri de date

Vom lua în considerare numai tipuri simple cu dvs. până acum.

Tipurile de comenzi diferă prin faptul că fiecare dintre ele are un număr finit de valori posibile. Aceste valori pot fi aranjate într-un anumit mod (de aici numele tipurilor) și, prin urmare, cu fiecare dintre ele puteți asocia un număr întreg - numărul ordinal al valorii.

Tipurile de comenzi includ numere întregi, logice, simbolice, enumerate și gama de tipuri. Pentru oricare dintre ele, funcția Ord (x) este aplicabilă, care returnează numărul ordinal al valorii expresiei X.

Caracterele cu coduri 0. 31 se referă la codurile de serviciu. Dacă aceste coduri sunt folosite în textul simbolic al programului, acestea sunt considerate spații.

Pentru caracterele de tip sunt implementate operațiunile de relaționare, precum și funcțiile încorporate:

Chr (c) este o funcție de tip char; convertește o expresie într-un tip Byte într-un caracter și o readuce ca valoare;

UpCase (CH) este o funcție char; returneaza o majuscule daca cn este o literatura latina cu litere mici, altfel caracterul in sine se intoarce (caracterul chirilic returneaza caracterul original).

Spre deosebire de tipul de serie a cărei valoare este întotdeauna în comparație cu o serie de numere întregi, și, prin urmare, prezentate în exact PC, valorile reale tipuri determinate număr arbitrar doar cu oarecare precizie finită, independent de formatul intern numărul real.







Numărul de cifre semnificative

+/ -922 337 203 685477,5807

În versiunile anterioare ale Delphi 1. deținute Real tip 3 6 octeți și are un interval de valori TE2, 9 x 10 -39-1.7 × 10 38 În versiunile 4 și 5 ale acestui tip este de tip echivalent Double. Dacă doriți să utilizați 6-byte Real din motive de compatibilitate, trebuie să specificați directiva compilatorului.

Așa cum se poate vedea din tabelul precedent. Numărul real al Delphi are între 4 și 10 bytes contiguu și are următoarea structură în memoria calculatorului:

Aici s este cifra semnată a numărului; e este partea exponențială; conține o ordine binară; m este mantisa unui număr.

Mantisă m are o lungime de 23 (pentru o singură) la 63 (pentru Extended) biți, care asigură acuratețea unică 7. 8 și 19. extinderea la 20 de cifre zecimale. punct zecimal (virgula) înseamnă înainte de stânga biți (cel mai semnificativ) a mantisei, ci acționează cu un număr de poziția sa deplasat spre stânga sau spre dreapta, în conformitate cu un ordin binar numărul stocat în porțiunea exponențială, cu toate acestea acțiuni asupra numerelor reale numite aritmetică cu virgulă mobilă (separat) .

Rețineți că coprocesorul aritmetică procesează întotdeauna numere în format extins, iar celelalte trei tipuri de materiale, în acest caz se obține prin trunchierea rezultatelor la dimensiunea dorită, și sunt utilizate în principal pentru a economisi memorie.

Pentru a lucra cu date reale, puteți utiliza funcțiile matematice încorporate prezentate în tabelul următor. în acest tabel Real înseamnă orice tip real, întreg este orice tip întreg.

Funcțiile matematice standard ale Delphi

Tip de argument Real

Arctangent (valoare în radiani)

Cosin, unghi în radiani

Partea fracționată a numărului

Partea întregă a numărului

Un număr pseudo-aleator uniform distribuit în intervalul 0. [1]

Un număr pseudo-aleator distribuit uniform în intervalul 0. (x-1)

Inițierea unui generator de numere pseudo-aleatoare

Sine, unghi în radiani

Notă pseudo generator de numere aleatoare este o funcție care are un număr întreg numit bază, își schimbă nivelul său de către un anumit algoritm, și scoate rezultatul noul număr. Simultan, noul număr devine baza pentru următorul acces la funcții; .., etc. (Deoarece procedura nu se schimba algoritmul:. În cursul activității sale, numerele sunt numite pseudoaleator) Unitatea System, care este disponibil în mod automat la orice program, numărul de bază este stocat într-o variabilă numită RandSeek și are întotdeauna o valoare inițială de 0. Aceasta înseamnă accesarea secvențială aleatoare, diferite programe (sau mai multe serii de un program) va cădea întotdeauna aceeași secvență de numere pseudo-aleatoare.

Reprezentarea numerelor reale

Numerele reale conțin în imaginea lor un punct și / sau un exponent (simbolul E sau e), de exemplu:

Funcții de conversie de tip de date

Rotundul (x) este rotunjirea numărului real la cel mai apropiat număr întreg. Argumentul funcției este o valoare reală și rezultatul este o valoare Longint, rotunjită la cel mai apropiat număr întreg. Dacă rezultatul depășește intervalul de valori Longint, va apărea o eroare la execuția programului.

Trunc (x) - obținerea întregii părți a unui număr real. Tipul de rezultat este Longint. Dacă rezultatul depășește intervalul de valori Longint, va apărea o eroare la execuția programului.

Peste date de tip TDateTime, aceleași operații ca și numerele reale de mai sus sunt definite, iar în constante de acest tip pot participa constante și variabile de tip întreg și real.

Pentru a lucra cu data și ora, se folosesc subrutinele listate în tabelul următor.

Subrutine pentru lucrul cu data și ora

Data funcției: TDateTime;

Funcția DateToStr (D: TDateTime): String;







Articole similare

Trimiteți-le prietenilor: