Numerieke Gegevenstypen
Gehele getallen
Gegevenstypen voor gehele getallen worden het meest gebruikt voor gehele waarden. 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 een int-variabele wordt gedeclareerd, er precies 4 bytes van het geheugen van de pc worden gereserveerd. En getallen boven 2147483647 (of onder -2147483648) passen niet binnen deze 4 bytes. Gelukkig zijn er andere gegevenstypen beschikbaar die meer (of minder) ruimte kunnen reserveren, afhankelijk van de behoefte. Hier is de tabel:
Gebruik long om grote getallen op te slaan (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
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; }
Wees voorzichtig met het gekozen gegevenstype. Als het bereik van een type wordt overschreden, zal de C++-compiler u niet waarschuwen 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 toe te wijzen aan een van deze typen, 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. Voor het opslaan van kommagetallen (decimale getallen) dient het gegevenstype float of double gebruikt te worden.
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; }
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 te zien is in het onderstaande voorbeeld). Het is daarom beter om standaard double te gebruiken, tenzij u zeker weet dat de precisie van float 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 praktijk geldt dat wanneer een variabele alleen gehele getallen kan bevatten (bijvoorbeeld populatie of likes), short/int/long gebruikt moet 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?
When should I use short, int, or long for whole numbers?
Are there any other numeric data types I should know about?
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 waarden. 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 een int-variabele wordt gedeclareerd, er precies 4 bytes van het geheugen van de pc worden gereserveerd. En getallen boven 2147483647 (of onder -2147483648) passen niet binnen deze 4 bytes. Gelukkig zijn er andere gegevenstypen beschikbaar die meer (of minder) ruimte kunnen reserveren, afhankelijk van de behoefte. Hier is de tabel:
Gebruik long om grote getallen op te slaan (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
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; }
Wees voorzichtig met het gekozen gegevenstype. Als het bereik van een type wordt overschreden, zal de C++-compiler u niet waarschuwen 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 toe te wijzen aan een van deze typen, 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. Voor het opslaan van kommagetallen (decimale getallen) dient het gegevenstype float of double gebruikt te worden.
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; }
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 te zien is in het onderstaande voorbeeld). Het is daarom beter om standaard double te gebruiken, tenzij u zeker weet dat de precisie van float 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 praktijk geldt dat wanneer een variabele alleen gehele getallen kan bevatten (bijvoorbeeld populatie of likes), short/int/long gebruikt moet worden.
Bedankt voor je feedback!