Curs 3

Tipul de date identifică în mod unic:

Reprezentarea internă a datelor este setul de semnificații ale acestora

Acțiuni permise privind datele (operații și funcții)

Fiecare expresie din program are un anumit tip. Memoria în care sunt stocate datele în timpul execuției programului este împărțită în două zone - stiva și memoria dinamică. Stiva este folosită pentru stocarea valorilor, memoria sub care alocă compilatorul. În zona de memorie dinamică (heap-heap), memoria este rezervată și eliberată în timpul executării programului cu ajutorul unor comenzi speciale de către programatorul însuși.







Clasificarea tipurilor de date în C # este prezentată în Figura 3.1

Curs 3

Figura 3.1 - Clasificarea tipurilor de date în C # pe diferite motive

Tipuri încorporate

Tipurile încorporate sunt listate în Tabelul 3.1. Acestea se potrivesc în mod unic claselor .NET ale bibliotecii standard definite în spațiul de nume al sistemului.

După cum se poate observa din tabel, există mai multe variante de reprezentare a numerelor întregi și a cantităților reale.







Reprezentarea internă a unui întreg este un număr întreg într-un cod binar. În cazul tipurilor semnate, bitul cel mai semnificativ al unui număr este interpretat ca un semn semnat (număr 0-pozitiv, 1-negativ). Numerele negative sunt adesea reprezentate în grupuri de câte doi - sunt inversate toți biții din celelalte decât bitul de semn numere, apoi se adaugă unitatea la numărul, și un bit de semn este atribuit unității. Tipurile neimprimate vă permit să reprezentați numai numere pozitive, deoarece bitul de înaltă ordine este tratat ca parte a codului numeric.

Tipurile reale sunt stocate în memorie diferit decât tipurile întregi. Reprezentarea internă a valorii tipului real constă din două părți - mantisa și ordinea, fiecare parte are un semn. Lungimea mantistei determină precizia numărului, iar lungimea ordinului este domeniul său. De exemplu, numărul de 0,381 * 10 ^ 4 cifre stocate mantise 381 și ordinea de 4, pentru numărul de 560,3 x 10 2 - 5603 mantise și ordinea de 5.

Tipul zecimal este destinat calculelor monetare în care erorile de rotunjire sunt critice. Acest tip nu se aplică tipurilor reale, ele au o reprezentare internă diferită. Valorile tipului monetar nu pot fi utilizate într-o expresie cu conversii de tip real de tip buzz.

Orice tip de limbaj C # încorporat corespunde clasei clasice de bibliotecă .NET. Oriunde se utilizează numele tipului încorporat, îl puteți înlocui cu numele clasei bibliotecii de sistem. Aceasta înseamnă că tipurile încorporate au metode și câmpuri. De exemplu:

double.MaxValue (System.Double.MaxValue) - valoarea maximă a unui dublu.

uint.MinValue (System.UInt32.MinValue) - valoarea minimă a unui număr de tip uint.

Tabelul 3.1 - Tipuri încorporate de C #







Articole similare

Trimiteți-le prietenilor: