Cursusinhoud
C++ Introductie
C++ Introductie
Numerieke Gegevenstypen
Gehele getallen
Gegevenstypen voor gehele getallen zijn 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
#include <iostream> int main() { int goodNumber = 12; int tooLarge = 2147483648; std::cout << "Printing goodNumber: " << goodNumber << std::endl; std::cout << "Printing tooLarge: " << tooLarge << std::endl; }
Dat gebeurt omdat wanneer je een int
variabele declareert, het precies 4 bytes van het geheugen van je PC toewijst. En getallen boven 2147483647
(of onder -2147483648
) passen niet binnen die 4 bytes. Gelukkig zijn er andere gegevenstypen beschikbaar die je meer (of minder) ruimte kunnen toewijzen voor je behoeften. Hier is de tabel:
Gegevenstype | ||
---|---|---|
short | 2 bytes | |
int | 4 bytes | |
long | 8 bytes |
Dus je kunt long
gebruiken om grote getallen op te slaan (bijv. Wereldbevolking). Je kunt ook short
gebruiken als je zeker weet dat je nummer niet buiten het -32,768
tot 32,767
bereik zal vallen (bijv. het opslaan van de leeftijd van een gebruiker). Het gebruik van short
zal minder geheugenruimte innemen.
main
#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 gegevenstype dat je selecteert. Als het bereik van een type wordt overschreden, zal de C++-compiler je niet waarschuwen, en je kunt een onverwachte waarde ontvangen zonder enige indicatie van een fout.
Zwevendekommagetallen
De bovenstaande gegevenstypen zijn ontworpen om gehele getallen op te slaan. Als we proberen 1.6
aan een van deze toe te wijzen, is dit wat we zouden krijgen:
main
#include <iostream> int main() { // Change the data type to `float` o `double` int num = 1.6; std::cout << num << std::endl; }
Het int
type snijdt het decimale deel van een getal af. Dit gedrag is hetzelfde voor short
en long
types. Om zwevendekommagetallen (decimale getallen) op te slaan, moet je het float
of double
gegevenstype gebruiken.
Gegevenstype | ||
---|---|---|
float | ||
double |
Hier is een voorbeeld van het gebruik van double
om 1.6
op te slaan.
main
#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
float
type slechts een precisie van zeven cijfers heeft, valt het getal 123.456789 al buiten zijn bereik. Dit kan leiden tot onnauwkeurige resultaten (zoals getoond in het onderstaande voorbeeld). Het is dus beter om standaarddouble
te gebruiken, tenzij je zeker weet dat de precisie vanfloat
voldoende is.
Natuurlijk kun je float
of double
gebruiken om gehele getallen op te slaan, aangezien dit decimale getallen zijn met een decimaal deel gelijk aan 0. Echter, als goede gewoonte, als een variabele waarden opslaat die alleen gehele getallen kunnen zijn (bijv. populatie of likes), moeten short
/int
/long
worden gebruikt.
Bedankt voor je feedback!