[Edit] Boolean
bool - tip, capabile să stocheze una dintre cele două valori: true (true) sau fals (false).
[Regula] Tipuri de caractere
char semnat - tipul de reprezentare semn de caractere. nesemnat char - tip nesemnate pentru reprezentarea de caractere. char - tip pentru a reprezenta caractere care pot fi procesate cel mai eficient în sistemul țintă (echivalent cu un caracter semnat sau unsigned char, dar încă diferit de tipul lor.). wchar_t - tip de reprezentare caracter larg. char16_t - tip pentru a reprezenta caracterele din UTF-16. (Începând cu C ++ 11) char32_t - tip pentru a reprezenta caractere în UTF-32. (Începând cu 11 C ++)
[Edit] Tipurile Integer
int - bazic tip întreg. Aceasta poate fi omisă, dacă este reprezentată de oricare dintre modificatori. Dacă nu este prezent, nici unul dintre mărimea modificatori garantată are o lățime de cel puțin 16 biți. Cu toate acestea, un sisteme de 32/64-biți sunt aproape întotdeauna are o lățime de cel puțin 32 de biți (vezi. De mai jos).
[Articolul] Modificatorii
Modificat tip întreg. Acestea pot fi aranjate în orice ordine. Doar un singur modificator de la fiecare grup poate fi reprezentat în numele tipului.
semnat - tipul țintă va fi semnat de reprezentare (în mod implicit, în cazul în care nu a reprezentat nici una dintre opțiuni). nesemnat - tipul țintă va fi o reprezentare fără semn.
scurt - tipul țintă va fi optimizat în dimensiune și au o lățime de cel puțin 16 biți. lung - de tip țintă va avea o lățime de cel puțin 32 de biți. lung lung - de tip țintă va avea o lățime de cel puțin 64 de biți. (Începând cu 11 C ++)
[Edit] Proprietăți
Următorul tabel rezumă toate tipurile întregi disponibile și proprietățile lor:
De asemenea, o dimensiune minimă în biți C ++ standard care garantează
1 == sizeof # 40; mangal # 41; <= sizeof ( short ) <= sizeof ( int ) <= sizeof ( long ) <= sizeof ( long long ).
Notă: Ultimul caz posibil în cazul în care octeți au o rezoluție de 64 biți, toate tipurile (inclusiv char) are o lățime de 64 de biți, și se întoarce sizeof 1 pentru toate tipurile.
Notă: aritmetice cu numere întregi este definită în mod diferit pentru tipurile întregi semnate și nesemnate. A se vedea. Operatori matematici. în particular, un preaplin întreg.
[Articolul] Data Model
Tipuri de bază dimensiuni alegeri în fiecare punere în aplicare sunt denumite în mod colectiv modelul de date. adoptat pe scară largă model de 4 date:
- LP32 sau 2/4/4 (int - 16 biți, lung și pointer - 32 biți)
- Win16 API
- ILP32 sau 4/4/4 (int, lung și pointer - 32 biți)
- win32 API
- sisteme Unix si Unix (Linux, Mac OS X)
- LLP64 sau 4/4/8 (int și lung - 32 biți, indicele - 64 de biți)
- Win64 API
- LP64 sau 4/8/8 (int - 32 biți, lung și pointer - 64 de biți)
- sisteme Unix si Unix (Linux, Mac OS X)
Alte modele sunt foarte rare. De exemplu, ILP64 (8/8/8 int, lung și indicatorul -. 64 de biți) a apărut doar în unele 64-bit Unix-sisteme timpurii (de exemplu, Unicos pe computerele Cray).
[Edit] Tipuri punct plutitoare
float - tip cu virgulă mobilă unică de precizie. De obicei, pe 32 de biți de tip plutitoare IEEE-754 punct formatul de dublu - de tip punct de flotare dublă precizie. De obicei, pe 64 de biți în virgulă mobilă tip de format IEEE-754 lung dublu - tip mare precizie în virgulă mobilă. Ea nu apare în mod necesar pe tipurile de IEEE-754. De obicei, 80 de biți de tip virgulă mobilă, arhitecturi de format X87 x86 și x86-64.
[Regula] Valori Lacune
Acest tabel conține limitele cele mai multe formate numerice rasprostrannonyh. Deoarece standardul C ++ permite orice reprezentare a numerelor întregi semnate, tabelul conține atât limita minimă garantată (care corespunde limitei de cod invers sau codul direct) și limitează punerea în aplicare cele mai utilizate pe scară largă - cod suplimentar. Cu toate acestea, toate modelele populare de date (inclusiv toate ILP32, LP32, LP64, LLP64) utilizat în prezentarea codului adițional.