Il tipo di dato int
(abbreviazione di "integer", cioè intero) è utilizzato per rappresentare numeri interi, ovvero numeri senza decimali, come -2, 0, 10, 1000 o -5000. La dimensione di un int
dipende dalla piattaforma (sistema operativo e architettura del computer), ma solitamente occupa 4 byte (32 bit), consentendo di rappresentare valori compresi tra circa -2 miliardi e +2 miliardi. Se si necessitano di numeri interi più grandi, esistono varianti come long int
o long long int
, che possono memorizzare numeri ancora più grandi. Un esempio di dichiarazione di una variabile int
per memorizzare l'età potrebbe essere:
int età = 30;
Questa istruzione crea una variabile di tipo intero chiamata età
, le assegna il valore 30 e la rende disponibile per operazioni matematiche come somma, sottrazione, moltiplicazione e divisione intere.
A differenza degli interi, i numeri che contengono una parte frazionaria, come 3.14159, -2.5 o 0.001, richiedono un altro tipo di dato: float
(abbreviazione di "floating-point", cioè punto flottante). I float
sono numeri in virgola mobile, e usano un formato che permette di rappresentare numeri sia molto grandi che molto piccoli, ma con una certa imprecisione dovuta alla rappresentazione approssimata. Un float
occupa generalmente 4 byte e ha una precisione limitata. Se è necessaria una maggiore precisione, si può utilizzare double
, che occupa 8 byte e offre una rappresentazione più precisa dei numeri in virgola mobile. Ecco un esempio di dichiarazione di una variabile float
per memorizzare un prezzo:
float prezzo = 99.99;
È importante tenere presente che, a causa della natura dei numeri in virgola mobile, le operazioni con float
e double
possono portare a piccoli errori di arrotondamento.
Un altro tipo di dato fondamentale è char
(da "character", cioè carattere). Questo tipo di dato è utilizzato per memorizzare singoli caratteri, come lettere ('a', 'A'), numeri ('1', '2'), simboli ('$', '%') o caratteri speciali come spazi (' ') o nuove righe ('\n'). Un char
occupa generalmente 1 byte e rappresenta un carattere secondo una codifica specifica come ASCII o UTF-8. Ad esempio, per dichiarare una variabile char
che memorizza la lettera 'J', scriveremmo:
char iniziale = 'J';
Anche se char
è pensato per singoli caratteri, i caratteri possono essere combinati per formare stringhe, ma in C++ le stringhe non sono un tipo di dato primitivo come int
, float
o char
. Piuttosto, vengono gestite tramite la classe std::string
.
Infine, il tipo di dato bool
(abbreviazione di "boolean", cioè booleano) è utilizzato per rappresentare valori di verità, ovvero true
(vero) o false
(falso). Un bool
occupa generalmente 1 byte, anche se in alcuni casi potrebbe essere ottimizzato dal compilatore per occupare meno spazio. Le variabili booleane sono essenziali per la logica del programma, specialmente nelle istruzioni condizionali (if
, else
) o nei cicli (while
, for
). Ad esempio, per dichiarare una variabile booleana che rappresenta una condizione come "maggiore di 18", scriveremmo:
bool maggioreDi18 = true;
Le variabili di tipo bool
sono spesso utilizzate per memorizzare lo stato di una condizione o il risultato di un confronto.
In sintesi, scegliere il tipo di dato giusto è cruciale nella programmazione in C++. Utilizzare il tipo appropriato migliora l'efficienza, la precisione e semplifica la gestione delle informazioni. Conoscere la differenza tra int
, float
, char
e bool
è fondamentale per scrivere programmi corretti e performanti. La selezione del tipo di dato deve essere fatta in base al tipo di informazioni da memorizzare e alle operazioni che si desidera eseguire. Un uso improprio dei tipi di dato può causare errori di compilazione, overflow (quando i dati superano la capacità del tipo di dato) o risultati imprecisi, il che rende il codice difficile da mantenere e correggere. Una programmazione consapevole dei tipi di dato è un elemento fondamentale per scrivere codice di qualità.