Tipurile de virgulă flotantă (float, dublu, și lung dublu)

Tipurile de virgulă flotantă (float, dublu, și lung dublu)

Acasă | Despre noi | feedback-ul

int size tip este determinat ca un standard, în funcție de computer și compilator.

Pentru procesor de 16 biți 2 octeți pentru valoarea acestui tip,

32-bit - 4 octeți.

Înainte de numele de specificatorul scurt indică tipul de compilator pe care este necesar să se retragă un număr de 2 octeți, indiferent de procesorul de biți.

Specificator înseamnă mult timp că întreaga valoare va ocupa de 4 octeți.

Astfel, un computer de 16 biți și scurte echivalenți int int

și 32-bit - int si long int.

Reprezentarea internă a valorii tip întreg - număr întreg în cod binar. Când se utilizează Specificator semnat numărul MSB este interpretat ca un semn (0 - număr pozitiv, 1 - negativ). unsigned permite reprezintă numai numere pozitive, deoarece MSB este considerată ca făcând parte din numărul de cod. Astfel. Tipul de valori gama int independente de specificatorilor. Intervalele de variabile tip întreg cu diferite specificatorilor pentru calculatoare IBM PC-compatibile sunt listate în tabelul „intervalele de valori ale tipurilor de date simple.“

În mod implicit, toate tipurile de numere întregi sunt considerate a fi iconic, că specificatorul este semnat poate fi omisă.

Constante în program, este atribuit un anumit tip, în conformitate cu punctele de vedere. Dacă este un motiv sau altul nu este mulțumit cu programator, mono specificați explicit tipul dorit folosind sufixul L, l (lungime) și U, u (unsigned). De exemplu, 32L constantă va avea un tip lung și ocupă 4 octeți. Este posibil să se utilizeze sufixe U și L simultan, de exemplu, 0x22UL sau 05Lu.

Notă. Tipuri de short int, int lung, semnat int și unsigned int poate fi redus la un scurt, lung, semnat și nesemnate, respectiv.

Sub valoarea unui tip de caracter este dat numărul de octeți suficiente pentru a găzdui orice caracter din setul de caractere pentru acest computer, și care a condus la denumirea tipului. Ca o regulă, este de 1 octet. Tip char, precum și alte tipuri de numere întregi pot fi semnate sau nesemnate. Valorile pot fi stocate cu valoarea semnul în intervalul -128 la 127. Când se utilizează valori fără semn Specificator poate varia de la 0 la 255. Acest lucru este suficient pentru a stoca toate simbolurile de la 256 de caractere ASCII set. Valorile de tip char sunt, de asemenea, folosite pentru a stoca numere întregi.

caractere de tip avansat (wchar_t)

tip wchar_t este proiectat pentru a lucra cu seturi de caractere pentru codificare, care nu este suficient de 1 octet. De exemplu, Unicode. Dimensiunea acestui tip depinde de punerea în aplicare; Ca o regulă, acesta corespunde tipului scurt. Constantele String tip wchar_t sunt înregistrate cu un prefix L, de exemplu, L "Gates".

Valorile de tip boolean poate lua valorile adevărate și false numai. este un cuvânt rezervat. Reprezentarea internă sub formă de fals valoare - 0 (zero). Orice altă valoare este interpretată ca fiind adevărată. Când adevarata transformare are o valoare de 1 la tipul întreg.

Tipurile de virgulă flotantă (float, dublu, și lung dublu)

standardul C ++ definește trei tipuri de stocare a datelor de valori reale: float, double si lung dublu.

tipuri de date în virgulă mobilă sunt stocate în memorie diferit decât întreg. Reprezentarea internă a unui număr real este format din două părți - mantisa și ordine.

Cantitățile float IBM PC compatibil calculatoare de tip ia 4 bytes, dintre care un bit este dat de semnul mantisei. 8 biți pentru procedura și 23 sub mantisei. Mantisă - un număr mai mare de 1,0 dar mai mică de 2,0. Deoarece cifră semnificativă a mantisei este întotdeauna egal cu 1, nu este stocat.

Pentru valori de tip dublu ocupând 8 octeți, ordinea și sub mantisa îndepărtat 11 și 52, respectiv, de evacuare. Lungimea mantisă determină numărul de precizie, iar lungimea ordinului - gama sa. După cum se poate observa din tabelul de la sfârșitul înregistrării, același număr de octeți rezervate pentru valoarea de tip float si long int, intervalele de valori acceptabile variază foarte mult datorită unei forme de reprezentare internă.

Specificator cu mult înainte de tipul de dublu nume indică faptul că valoarea sa este dată de 10 octeți.

constante în virgulă mobilă au un dublu tip implicit. Puteți specifica în mod explicit constanta de tip prin sufixul F, f (float) și L, L (lung).

De exemplu, constanta 2E + 6L va fi de tip lung dublu, iar 1.82f constanta - tip float.

Când scrieți un universal nu poate face presupuneri cu privire la dimensiunea unui int pentru diferite programe, platforme. Pentru a obține necesar de a utiliza operațiunea sizeof, rezultatul care este dimensiunea în octeți de tip.

De exemplu, pentru MS-DOS sizeof (int) a sistemului de operare va avea ca rezultat 2 și pentru Windows 98 sau OS / 2, rezultatul este 4.

Standard gamele ANSI valori pentru tipuri majore nu sunt specificate, determinat numai de raportul dintre dimensiunile lor, de exemplu:

sizeof (float) ≤ slzeof (dublu) ≤ sizeof (long double)
sizeof (char) ≤ slzeof (scurt) ≤ sizeof (int) ≤ sizeof (long)

Notă. Valorile minime și maxime pentru tipuri întregi depind de punerea în aplicare și sunt enumerate în fișierul antet (), Caracteristicile tipurilor reale - fișier (), precum și un numeric_limits șablon de clasă

Pe lângă cele de mai sus, principalele tipuri de limbaj se referă de tip void, ci o multitudine de valori pentru acest tip de martor. Este folosit pentru a determina funcțiile care nu returnează o valoare, pentru a indica o listă goală de argumente ale funcției ca tip de bază pentru indicii într-o operațiune turnat.

Diferite tipuri de întregi și tipuri reale și acuratețea gama de reprezentare a datelor introduse pentru a permite programator de a utiliza cel mai eficient funcționalitatea unui anumit aparat, deoarece alegerea tipului de calcule depinde de capacitatea de viteză și de memorie diferite. Dar, optimizat pentru calculatoare de orice tip de program poate să nu fie portabil la alte platforme, astfel încât, în general, ar trebui să fie evitate în funcție de caracteristicile specifice ale tipurilor de date.

Programul este scris în C ++ este compus din funcții. definiții și directivele preprocesor. Una dintre funcțiile trebuie să aibă numele principal. Execuția programului începe cu prima declarație a funcției. Cea mai simplă definiție a unei funcții are următorul format:

tip nume de retur ([parametri]), operatorii care alcătuiesc corpul funcției.>

Ca o regulă, funcția este utilizată pentru a calcula orice valori, astfel încât înainte de numele funcției indică tipul său. Mai jos sunt cele mai relevante informații despre funcțiile:

  • Dacă funcția nu returnează o valoare care indică tipul void:
  • Funcția este un corp de bloc și, prin urmare, se află în acolade;
  • funcții nu pot fi imbricate;
  • Fiecare afirmație se termină cu punct și virgulă (cu excepția declarația compusului).

Structura programului EXEMPLUL care cuprinde funcția principală, fl și f2:

1. 2. 3. 4. 5. 6. 7. 8. 9. 10 11

Programul poate consta din mai multe module (fișiere sursă).

Note despre I / O în C ++

În C ++, nu există nici un built-in resurse I / O - este realizată cu ajutorul funcțiilor și a tipurilor de obiecte conținute în bibliotecile standard.

Este folosit două moduri: funcții moștenite de limbajul C si C ++ obiecte.

I de bază / funcțiile O în stil C:

int scanf (const char * format.) // intrare
int printf (const char * format.) // retragere

Ele funcționează formatate de intrare și de ieșire a unui număr arbitrar de valori, în conformitate cu formatul șir de format. Șirul de format conține caractere care sunt copiate în fluxul de derivare (pe ecran) sau solicitate de flux (tastatura) pentru introducerea și caietul de sarcini de conversie începând cu marca%, care, atunci când de intrare și de ieșire sunt înlocuite cu valori specifice.

Un exemplu al unui program folosind o funcții I / O în stil C:

#include
int main () int i;
printf ( "Introduceți un întreg \ n");
scanf ( "", i);
printf ( "Ați introdus numărul, vă mulțumesc.!", i);
return 0;
>

Prima linie a acestui program - o directivă preprocesor, în conformitate cu care se introduce textul în fișierul antet program care conține descrierea utilizată în funcțiile programului de I / O (în acest caz, paranteze unghiulare sunt parte a limbii). Toate directivele Preprocessor încep cu semnul #.

A treia linie - o descriere a unei variabile întreg numit i.

Un program folosind o ++ clasa biblioteca C:

#include
int main () int i;
cout <<"Введите целое число\n "; cin>> I;
cout <<"Вы ввели число " < return 0;
>

Fișierul antet conține o descriere a setului de clasa pentru controlul I / O. Acesta definește obiectele standard de fluxuri de intrare și tastatură cin cout pentru a afișa, precum și sălile de operație în flux <<и чтения из потока>>.

Puteți utiliza atât organizația de ieșire de intrare \, dar nu este recomandat pentru a le amesteca într-un singur program.

articole similare