Varianti di int in C++
Ci sono varie varianti del tipo int in C++
short int 2 byte
long int 4 byte ( stessa dimensione del int nella mia architettura )
long long int 8 byte
E’ possibile ricavare la dimensione con l’operatore Sizeof(tipo)
cout<<sizeof(int);
Poi ci sono gli unsigned int ecc che sono quelli senza segno che ampliano del doppio il range dei massimi
La libreria #include<limits> serve per ritornarci i limiti massimi e minimi dei tipi :
cout<<numeric_limits<long long int>::max();
Il numero di byte comunque a disposizione per i vari tipi non è garantita per tutti i tipi perché può variare a seconda della architettura usata. Ci sono dei casi in cui un char ha nove bit oppure altri bit : l’unica cosa certa è che lo short è <= del int <= long int ecc ma non è detto il viceversa .
Ci sono poi dei tipi particolari quali per esempio int8_t int16_t int64_t che servono per far si che sia il compilatore a scegliere a seconda della sua architettura il numero da usare per rappresentare un intero in modo da non sprecare spazio per nulla