Tipi di Dati Numerici
Numeri interi
I tipi di dati interi sono i più comunemente utilizzati per i numeri interi. Il tipo di dato int può contenere valori nell'intervallo da -2,147,483,648 a 2,147,483,647.
main.cpp
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; }
Ciò accade perché quando si dichiara una variabile di tipo int, vengono allocati esattamente 4 byte della memoria del PC. E i numeri superiori a 2147483647 (o inferiori a -2147483648) non rientrano in questi 4 byte. Fortunatamente, sono disponibili altri tipi di dati che possono allocare più (o meno) spazio a seconda delle esigenze. Ecco la tabella:
Quindi puoi utilizzare long per memorizzare numeri grandi (ad esempio, la popolazione mondiale). Puoi anche utilizzare short se sei sicuro che il tuo numero non supererà l'intervallo da -32,768 a 32,767 (ad esempio, per memorizzare l'età di un utente). Utilizzare short occuperà meno spazio di memoria.
main.cpp
12345678910111213#include <iostream> int main() { short age = 22; // for small numbers int likes = 143200; // for larger numbers long population = 8200000000; // for very large numbers // Display the values std::cout << "Age: " << age << std::endl; std::cout << "Likes: " << likes << std::endl; std::cout << "World's population: " << population << std::endl; }
Presta attenzione al tipo di dato che selezioni. Se viene superato l'intervallo di un tipo, il compilatore C++ non ti avviserà e potresti ricevere un valore inatteso senza alcuna indicazione di errore.
Numeri in 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:
main.cpp
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), è necessario utilizzare il tipo di dato float oppure double.
Ecco un esempio di utilizzo di double per memorizzare 1.6.
main.cpp
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; }
Poiché il tipo float ha una precisione di soli sette cifre, il numero 123.456789 è già fuori dal suo intervallo. Questo può portare a risultati inaccurati (come mostrato nell'esempio sotto). Pertanto, è preferibile utilizzare double di default, a meno che non si sia certi che la precisione di float sia sufficiente.
Ovviamente, è possibile utilizzare 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 deve contenere solo valori interi (ad esempio, popolazione o numero di "mi piace"), è preferibile utilizzare short/int/long.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
What is the difference between float and double?
When should I use short, int, or long?
Can you explain why int truncates the decimal part?
Awesome!
Completion rate improved to 3.85
Tipi di Dati Numerici
Scorri per mostrare il menu
Numeri interi
I tipi di dati interi sono i più comunemente utilizzati per i numeri interi. Il tipo di dato int può contenere valori nell'intervallo da -2,147,483,648 a 2,147,483,647.
main.cpp
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; }
Ciò accade perché quando si dichiara una variabile di tipo int, vengono allocati esattamente 4 byte della memoria del PC. E i numeri superiori a 2147483647 (o inferiori a -2147483648) non rientrano in questi 4 byte. Fortunatamente, sono disponibili altri tipi di dati che possono allocare più (o meno) spazio a seconda delle esigenze. Ecco la tabella:
Quindi puoi utilizzare long per memorizzare numeri grandi (ad esempio, la popolazione mondiale). Puoi anche utilizzare short se sei sicuro che il tuo numero non supererà l'intervallo da -32,768 a 32,767 (ad esempio, per memorizzare l'età di un utente). Utilizzare short occuperà meno spazio di memoria.
main.cpp
12345678910111213#include <iostream> int main() { short age = 22; // for small numbers int likes = 143200; // for larger numbers long population = 8200000000; // for very large numbers // Display the values std::cout << "Age: " << age << std::endl; std::cout << "Likes: " << likes << std::endl; std::cout << "World's population: " << population << std::endl; }
Presta attenzione al tipo di dato che selezioni. Se viene superato l'intervallo di un tipo, il compilatore C++ non ti avviserà e potresti ricevere un valore inatteso senza alcuna indicazione di errore.
Numeri in 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:
main.cpp
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), è necessario utilizzare il tipo di dato float oppure double.
Ecco un esempio di utilizzo di double per memorizzare 1.6.
main.cpp
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; }
Poiché il tipo float ha una precisione di soli sette cifre, il numero 123.456789 è già fuori dal suo intervallo. Questo può portare a risultati inaccurati (come mostrato nell'esempio sotto). Pertanto, è preferibile utilizzare double di default, a meno che non si sia certi che la precisione di float sia sufficiente.
Ovviamente, è possibile utilizzare 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 deve contenere solo valori interi (ad esempio, popolazione o numero di "mi piace"), è preferibile utilizzare short/int/long.
Grazie per i tuoi commenti!