Numerieke Gegevenstypen
Gehele getallen
Gegevenstypen voor gehele getallen worden het meest gebruikt voor gehele getallen. Het gegevenstype int
kan waarden bevatten binnen het bereik van -2,147,483,648
tot 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; }
Dit komt doordat wanneer u een int
-variabele declareert, er precies 4 bytes van het geheugen van uw pc worden gereserveerd. En getallen boven 2147483647
(of onder -2147483648
) passen niet binnen die 4 bytes. Gelukkig zijn er andere gegevenstypen beschikbaar die meer (of minder) ruimte kunnen reserveren, afhankelijk van uw behoeften. Hier is de tabel:
Gegevenstype | ||
---|---|---|
short | 2 bytes | |
int | 4 bytes | |
long | 8 bytes |
Gebruik long
voor het opslaan van grote getallen (bijvoorbeeld de wereldbevolking). Gebruik short
als u zeker weet dat uw getal niet buiten het bereik van -32,768
tot 32,767
zal vallen (bijvoorbeeld het opslaan van de leeftijd van een gebruiker). Het gebruik van short
neemt minder geheugenruimte in beslag.
main.cpp
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; }
Opmerking
Wees voorzichtig met het gekozen gegevenstype. Als het bereik van een type wordt overschreden, zal de C++-compiler geen melding geven, en kunt u een onverwachte waarde ontvangen zonder enige foutmelding.
Kommagetallen
De bovenstaande gegevenstypen zijn bedoeld om gehele getallen op te slaan. Als we proberen 1.6
aan een van deze toe te wijzen, krijgen we het volgende resultaat:
main.cpp
12345678#include <iostream> int main() { // Change the data type to `float` o `double` int num = 1.6; std::cout << num << std::endl; }
Het int
-type verwijdert het decimale gedeelte van een getal. Dit gedrag is hetzelfde voor de typen short
en long
. Om drijvende-kommagetallen (decimale getallen) op te slaan, dient u het float
- of double
-gegevenstype te gebruiken.
Gegevenstype | ||
---|---|---|
float | ||
double |
Hier is een voorbeeld van het gebruik van double
om 1.6
op te slaan.
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; }
Opmerking
Aangezien het type
float
slechts een precisie van zeven cijfers heeft, valt het getal 123.456789 al buiten het bereik. Dit kan leiden tot onnauwkeurige resultaten (zoals getoond in het onderstaande voorbeeld). Het is daarom beter om standaarddouble
te gebruiken, tenzij u zeker weet dat de precisie vanfloat
voldoende is.
Het is uiteraard mogelijk om float
of double
te gebruiken om gehele getallen op te slaan, aangezien dit decimale getallen zijn met een decimaal deel gelijk aan 0. Echter, als goede praktijk geldt dat wanneer een variabele alleen gehele waarden kan bevatten (bijvoorbeeld populatie of aantal likes), short
/int
/long
gebruikt dient te worden.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Can you explain the difference between float and double in more detail?
What happens if I try to store a number outside the range of a data type?
When should I use short, int, or long in my programs?
Awesome!
Completion rate improved to 3.85
Numerieke Gegevenstypen
Veeg om het menu te tonen
Gehele getallen
Gegevenstypen voor gehele getallen worden het meest gebruikt voor gehele getallen. Het gegevenstype int
kan waarden bevatten binnen het bereik van -2,147,483,648
tot 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; }
Dit komt doordat wanneer u een int
-variabele declareert, er precies 4 bytes van het geheugen van uw pc worden gereserveerd. En getallen boven 2147483647
(of onder -2147483648
) passen niet binnen die 4 bytes. Gelukkig zijn er andere gegevenstypen beschikbaar die meer (of minder) ruimte kunnen reserveren, afhankelijk van uw behoeften. Hier is de tabel:
Gegevenstype | ||
---|---|---|
short | 2 bytes | |
int | 4 bytes | |
long | 8 bytes |
Gebruik long
voor het opslaan van grote getallen (bijvoorbeeld de wereldbevolking). Gebruik short
als u zeker weet dat uw getal niet buiten het bereik van -32,768
tot 32,767
zal vallen (bijvoorbeeld het opslaan van de leeftijd van een gebruiker). Het gebruik van short
neemt minder geheugenruimte in beslag.
main.cpp
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; }
Opmerking
Wees voorzichtig met het gekozen gegevenstype. Als het bereik van een type wordt overschreden, zal de C++-compiler geen melding geven, en kunt u een onverwachte waarde ontvangen zonder enige foutmelding.
Kommagetallen
De bovenstaande gegevenstypen zijn bedoeld om gehele getallen op te slaan. Als we proberen 1.6
aan een van deze toe te wijzen, krijgen we het volgende resultaat:
main.cpp
12345678#include <iostream> int main() { // Change the data type to `float` o `double` int num = 1.6; std::cout << num << std::endl; }
Het int
-type verwijdert het decimale gedeelte van een getal. Dit gedrag is hetzelfde voor de typen short
en long
. Om drijvende-kommagetallen (decimale getallen) op te slaan, dient u het float
- of double
-gegevenstype te gebruiken.
Gegevenstype | ||
---|---|---|
float | ||
double |
Hier is een voorbeeld van het gebruik van double
om 1.6
op te slaan.
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; }
Opmerking
Aangezien het type
float
slechts een precisie van zeven cijfers heeft, valt het getal 123.456789 al buiten het bereik. Dit kan leiden tot onnauwkeurige resultaten (zoals getoond in het onderstaande voorbeeld). Het is daarom beter om standaarddouble
te gebruiken, tenzij u zeker weet dat de precisie vanfloat
voldoende is.
Het is uiteraard mogelijk om float
of double
te gebruiken om gehele getallen op te slaan, aangezien dit decimale getallen zijn met een decimaal deel gelijk aan 0. Echter, als goede praktijk geldt dat wanneer een variabele alleen gehele waarden kan bevatten (bijvoorbeeld populatie of aantal likes), short
/int
/long
gebruikt dient te worden.
Bedankt voor je feedback!