Gehele getallen versus drijvende-kommatypen
Kies het juiste numerieke type door inzicht te krijgen in groottes, bereiken en afwegingen rond precisie
Gehele getallen versus drijvende-kommatypen is een gratis C++ Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject C++ Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus C++ Academy bevat in totaal 4 lessen.
Twee werelden van getallen
C++ heeft twee families numerieke typen: gehele getallen (geen breuken, exact) en getallen met drijvende komma (bij benadering, met breuken). Kies de juiste familie voor de taak.
Typen voor gehele getallen
Ingebouwde typen voor gehele getallen en gebruikelijke groottes op 64-bitsystemen:
char— 1 byteshort— 2 bytesint— 4 byteslong— 4 of 8 byteslong long— 8 bytes
Ondertekend versus ongetekend
Voeg unsigned toe om het negatieve bereik te verwijderen. Rekenkunde met ongetekende getallen wikkelt modulo 2^N rond — soms nuttig, maar vaak een valkuil.
unsigned int u = 0;
u -= 1; // wraps around to 4,294,967,295Gehele getallen met vaste breedte
Gebruik de typen in <cstdint> wanneer je exacte groottes nodig hebt — voor protocollen, bestandsindelingen of overdraagbaarheid tussen platforms.
#include <cstdint>
int8_t tiny = 100;
int32_t word = 100000;
int64_t big = 1LL << 40;
uint64_t huge = 18446744073709551615ULL;Typen voor drijvende komma
Drie typen voor drijvende komma met oplopende precisie:
float— 32 bits, ongeveer 7 decimale cijfersdouble— 64 bits, ongeveer 15 decimale cijferslong double— doorgaans 80 of 128 bits
IEEE 754-indeling
Getallen met drijvende komma volgen de IEEE 754-standaard: teken, exponent, mantisse. Ze kunnen zeer grote en zeer kleine waarden voorstellen, maar niet exact.
Valkuilen van drijvende komma
De meeste decimale getallen kunnen niet exact in binaire vorm worden voorgesteld. 0.1 + 0.2 is niet exact 0.3.
double sum = 0.1 + 0.2;
std::cout << (sum == 0.3); // false on most systems
std::cout << sum; // 0.3 but printed approximatelyGetallen met drijvende komma veilig vergelijken
Vergelijk getallen met drijvende komma nooit met ==. Vergelijk binnen een kleine tolerantie (epsilon).
bool approxEqual(double a, double b, double eps = 1e-9) {
return std::abs(a - b) < eps;
}Speciale waarden voor drijvende komma
Getallen met drijvende komma hebben drie speciale waarden: NaN (geen getal), +inf en -inf. Gebruik de predicaten in <cmath> om ze te controleren.
#include <cmath>
double x = std::sqrt(-1.0);
if (std::isnan(x)) std::cout << "Not a number";
if (std::isinf(x)) std::cout << "Infinity";Wanneer gebruik je welk type?
Kies op basis van het toepassingsgebied:
- Aantallen en indexen →
intofsize_t - Wetenschappelijke of grafische wiskunde →
double - Geld → nooit
double! Gebruik gehele getallen met een schaal (centen) of een bibliotheek voor decimale getallen
Typgroottes verschillen per platform
De standaard garandeert alleen minimale groottes. int kan 16, 32 of 64 bits zijn. Gebruik voor overdraagbaarheid typen met vaste breedte uit <cstdint> in gegevensstructuren.
Korte controle
Welk type moet je gebruiken om geldbedragen nauwkeurig voor te stellen?
Samenvatting
Gehele getallen zijn exact; getallen met drijvende komma zijn bij benadering. Kies int of gehele getallen met vaste breedte voor aantallen, double voor wetenschappelijke wiskunde en gebruik nooit getallen met drijvende komma voor geld. Vergelijk ze met een tolerantie, nooit met ==.
Leer C++ met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 51
- Lessen
- 203
Veelgestelde vragen
Is de les “Gehele getallen versus drijvende-kommatypen” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad C++ Academy, waaronder “Gehele getallen versus drijvende-kommatypen”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus C++ Academy bevat in totaal 4 lessen.
Wat leer ik in “Gehele getallen versus drijvende-kommatypen”?
Kies het juiste numerieke type door inzicht te krijgen in groottes, bereiken en afwegingen rond precisie Je oefent met C++ Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met C++ Academy te beginnen?
Ervaring vooraf is niet nodig. C++ Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Gehele getallen versus drijvende-kommatypen”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over C++ Academy?
Ja. Elke les over C++ Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Gehele getallen versus drijvende-kommatypen
- De header cmath: pow, sqrt, abs, round
- Willekeurige getallen met de header random
- Numerieke limieten en overflowgedrag