Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Numerieke Gegevenstypen | Variabelen en Gegevenstypen
C++ Introductie

bookNumerieke 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

main.cpp

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; }

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
Bereik
Grootte
short
-32.768 tot 32.767
2 bytes
int
-2.147.483.648 tot 2.147.483.647
4 bytes
long
-9223372036854775808 tot 9223372036854775807
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

main.cpp

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; }

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

main.cpp

copy
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
Precisie
Grootte
float
7 decimalen
4 bytes
double
15 decimalen
8 bytes

Hier is een voorbeeld van het gebruik van double om 1.6 op te slaan.

main.cpp

main.cpp

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; }

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 standaard double te gebruiken, tenzij u zeker weet dat de precisie van float 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.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 3

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

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

bookNumerieke 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

main.cpp

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; }

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
Bereik
Grootte
short
-32.768 tot 32.767
2 bytes
int
-2.147.483.648 tot 2.147.483.647
4 bytes
long
-9223372036854775808 tot 9223372036854775807
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

main.cpp

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; }

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

main.cpp

copy
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
Precisie
Grootte
float
7 decimalen
4 bytes
double
15 decimalen
8 bytes

Hier is een voorbeeld van het gebruik van double om 1.6 op te slaan.

main.cpp

main.cpp

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; }

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 standaard double te gebruiken, tenzij u zeker weet dat de precisie van float 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.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 3
some-alt