Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Tipi di Dati Numerici | Variabili e Tipi di Dati
Introduzione a C++
course content

Contenuti del Corso

Introduzione a C++

Introduzione a C++

1. Iniziare
2. Introduzione agli Operatori
3. Variabili e Tipi di Dati
4. Introduzione al Flusso del Programma
5. Introduzione alle Funzioni

book
Tipi di Dati Numerici

Numeri interi

I tipi di dati interi sono i più comunemente usati per i numeri interi. Il tipo di dato int può contenere valori nell'intervallo di -2,147,483,648 a 2,147,483,647.

cpp

main

copy
12345678910
#include <iostream> int main() { int goodNumber = 12; int tooLarge = 2147483648; std::cout << "Printing goodNumber: " << goodNumber << std::endl; std::cout << "Printing tooLarge: " << tooLarge << std::endl; }

Questo accade perché quando dichiari una variabile int, essa alloca precisamente 4 byte della memoria del tuo PC. E i numeri superiori a 2147483647 (o inferiori a -2147483648) non entrano in quei 4 byte. Fortunatamente, sono disponibili altri tipi di dati che possono allocarti più (o meno) spazio per le tue esigenze. Ecco la tabella:

Tipo di Dato
Intervallo
Dimensione
short
-32,768 to 32,767
2 bytes
int
-2,147,483,648 to 2,147,483,647
4 bytes
long
-9223372036854775808 to 9223372036854775807
8 bytes

Quindi puoi usare long per memorizzare numeri grandi (ad esempio, la popolazione mondiale). Puoi anche usare short se sei sicuro che il tuo numero non supererà l'intervallo -32,768 a 32,767 (ad esempio, memorizzare l'età di un utente). Usare short occuperà meno spazio di memoria.

cpp

main

copy
123456789101112
#include <iostream> int main() { short age = 22; int likes = 143200; long population = 8200000000; std::cout << "Age: " << age << std::endl; std::cout << "Likes: " << likes << std::endl; std::cout << "World's population: " << population << std::endl; }

Nota

Fai attenzione al tipo di dato che selezioni. Se il range di un tipo viene superato, il compilatore C++ non ti avviserà, e potresti ricevere un valore inaspettato senza alcuna indicazione di errore.

Numeri a virgola mobile

I tipi di dati sopra sono progettati per memorizzare numeri interi. Se provassimo ad assegnare 1.6 a uno di questi, ecco cosa otterremmo:

cpp

main

copy
12345678
#include <iostream> int main() { // Change the data type to `float` o `double` int num = 1.6; std::cout << num << std::endl; }

Il tipo int tronca la parte decimale di un numero. Questo comportamento è lo stesso per i tipi short e long. Per memorizzare numeri in virgola mobile (decimali), dovresti usare il tipo di dato float o double.

Tipo di Dato
Precisione
Dimensione
float
7 cifre decimali
4 byte
double
15 cifre decimali
8 byte

Ecco un esempio di utilizzo di double per memorizzare 1.6.

cpp

main

copy
12345678910
#include <iostream> int main() { float floatNum = 123.45678; double doubleNum = 123.45678; std::cout << "using float:" << floatNum - 123 << std::endl; std::cout << "using double:" << doubleNum - 123 << std::endl; }

Nota

Poiché il tipo float ha solo una precisione di sette cifre, il numero 123.456789 è già fuori dal suo intervallo. Questo può portare a risultati inaccurati (come mostrato nell'esempio sotto). Quindi è meglio usare double di default a meno che non si sia sicuri che la precisione di float sia sufficiente.

Ovviamente, puoi usare float o double per memorizzare numeri interi poiché questi sono numeri decimali con una parte decimale pari a 0. Tuttavia, come buona pratica, se una variabile memorizza valori che possono essere solo numeri interi (ad esempio, popolazione o mi piace), dovrebbero essere usati short/int/long.

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 3

Chieda ad AI

expand
ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

course content

Contenuti del Corso

Introduzione a C++

Introduzione a C++

1. Iniziare
2. Introduzione agli Operatori
3. Variabili e Tipi di Dati
4. Introduzione al Flusso del Programma
5. Introduzione alle Funzioni

book
Tipi di Dati Numerici

Numeri interi

I tipi di dati interi sono i più comunemente usati per i numeri interi. Il tipo di dato int può contenere valori nell'intervallo di -2,147,483,648 a 2,147,483,647.

cpp

main

copy
12345678910
#include <iostream> int main() { int goodNumber = 12; int tooLarge = 2147483648; std::cout << "Printing goodNumber: " << goodNumber << std::endl; std::cout << "Printing tooLarge: " << tooLarge << std::endl; }

Questo accade perché quando dichiari una variabile int, essa alloca precisamente 4 byte della memoria del tuo PC. E i numeri superiori a 2147483647 (o inferiori a -2147483648) non entrano in quei 4 byte. Fortunatamente, sono disponibili altri tipi di dati che possono allocarti più (o meno) spazio per le tue esigenze. Ecco la tabella:

Tipo di Dato
Intervallo
Dimensione
short
-32,768 to 32,767
2 bytes
int
-2,147,483,648 to 2,147,483,647
4 bytes
long
-9223372036854775808 to 9223372036854775807
8 bytes

Quindi puoi usare long per memorizzare numeri grandi (ad esempio, la popolazione mondiale). Puoi anche usare short se sei sicuro che il tuo numero non supererà l'intervallo -32,768 a 32,767 (ad esempio, memorizzare l'età di un utente). Usare short occuperà meno spazio di memoria.

cpp

main

copy
123456789101112
#include <iostream> int main() { short age = 22; int likes = 143200; long population = 8200000000; std::cout << "Age: " << age << std::endl; std::cout << "Likes: " << likes << std::endl; std::cout << "World's population: " << population << std::endl; }

Nota

Fai attenzione al tipo di dato che selezioni. Se il range di un tipo viene superato, il compilatore C++ non ti avviserà, e potresti ricevere un valore inaspettato senza alcuna indicazione di errore.

Numeri a virgola mobile

I tipi di dati sopra sono progettati per memorizzare numeri interi. Se provassimo ad assegnare 1.6 a uno di questi, ecco cosa otterremmo:

cpp

main

copy
12345678
#include <iostream> int main() { // Change the data type to `float` o `double` int num = 1.6; std::cout << num << std::endl; }

Il tipo int tronca la parte decimale di un numero. Questo comportamento è lo stesso per i tipi short e long. Per memorizzare numeri in virgola mobile (decimali), dovresti usare il tipo di dato float o double.

Tipo di Dato
Precisione
Dimensione
float
7 cifre decimali
4 byte
double
15 cifre decimali
8 byte

Ecco un esempio di utilizzo di double per memorizzare 1.6.

cpp

main

copy
12345678910
#include <iostream> int main() { float floatNum = 123.45678; double doubleNum = 123.45678; std::cout << "using float:" << floatNum - 123 << std::endl; std::cout << "using double:" << doubleNum - 123 << std::endl; }

Nota

Poiché il tipo float ha solo una precisione di sette cifre, il numero 123.456789 è già fuori dal suo intervallo. Questo può portare a risultati inaccurati (come mostrato nell'esempio sotto). Quindi è meglio usare double di default a meno che non si sia sicuri che la precisione di float sia sufficiente.

Ovviamente, puoi usare float o double per memorizzare numeri interi poiché questi sono numeri decimali con una parte decimale pari a 0. Tuttavia, come buona pratica, se una variabile memorizza valori che possono essere solo numeri interi (ad esempio, popolazione o mi piace), dovrebbero essere usati short/int/long.

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 3
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?
some-alt