Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Numeriske Datatyper | Variabler og Datatyper
C++ Introduktion

Numeriske Datatyper

Stryg for at vise menuen

Hele tal

Heltalsdatatyper er de mest anvendte til hele tal. Datatypen int kan indeholde værdier inden for området -2,147,483,648 til 2,147,483,647.

main.cpp

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

Dette sker, fordi når du erklærer en int-variabel, allokeres der præcist 4 bytes af din computers hukommelse. Og tal over 2147483647 (eller under -2147483648) kan ikke være i disse 4 bytes. Heldigvis findes der andre datatyper, som kan allokere mere (eller mindre) plads efter behov. Her er tabellen:

Du kan derfor bruge long til at gemme store tal (f.eks. verdens befolkningstal). Du kan også bruge short, hvis du er sikker på, at dit tal ikke overstiger intervallet -32,768 til 32,767 (f.eks. til at gemme en brugers alder). Brug af short vil optage mindre hukommelse.

main.cpp

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; }
Note
Bemærk

Vær opmærksom på den datatype, du vælger. Hvis typen overskrider sit interval, vil C++-kompilatoren ikke advare dig, og du kan modtage en uventet værdi uden nogen fejlmeddelelse.

Flydende tal

Datatyperne ovenfor er designet til at gemme hele tal. Hvis vi prøver at tildele 1.6 til en af dem, vil vi få følgende resultat:

main.cpp

main.cpp

12345678
#include <iostream> int main() { // Change the data type to `float` o `double` int num = 1.6; std::cout << num << std::endl; }

Datatypen int afkorter den decimale del af et tal. Denne opførsel er den samme for typerne short og long. For at gemme flydende kommatal (decimaltal) skal du bruge enten datatypen float eller double.

Her er et eksempel på brug af double til at gemme 1.6.

main.cpp

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; }
Note
Bemærk

Da float-typen kun har en præcision på syv cifre, ligger tallet 123.456789 allerede uden for dens rækkevidde. Dette kan føre til unøjagtige resultater (som vist i eksemplet nedenfor). Det er derfor bedre som udgangspunkt at bruge double, medmindre du er sikker på, at float's præcision er tilstrækkelig.

Det er selvfølgelig muligt at bruge float eller double til at gemme heltal, da disse er decimaltal med en decimaldel lig med 0. Som god praksis bør man dog bruge short/int/long, hvis en variabel kun skal indeholde heltalsværdier (f.eks. befolkningstal eller antal likes).

question mark

Hvad sker der, hvis du forsøger at tildele et tal større end 2.147.483.647 til en int-variabel?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 3. Kapitel 3
some-alt