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

bookNumeriske Datatyper

Hele tal

Heltalsdatatyper er de mest anvendte til hele tal. Datatypen int kan indeholde værdier inden for intervallet -2,147,483,648 til 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; }

Dette sker, fordi når du erklærer en int-variabel, allokeres der præcis 4 bytes af din computers hukommelse. Og tal over 2147483647 (eller under -2147483648) kan ikke være inden for 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 befolkning). Du kan også bruge short, hvis du er sikker på, at dit tal ikke overstiger området fra -32,768 til 32,767 (f.eks. lagring af en brugers alder). Brug af short vil optage mindre hukommelse.

main.cpp

main.cpp

copy
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 et types område overskrides, vil C++-kompilatoren ikke advare dig, og du kan modtage en uventet værdi uden nogen fejlmeddelelse.

Flydende kommatal

Datatyperne ovenfor er beregnet til at gemme hele tal. Hvis vi forsøger at tildele 1.6 til en af disse, vil vi få følgende resultat:

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

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

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

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

Da float-typen kun har en præcision på syv cifre, ligger tallet 123.456789 allerede uden for dens rækkevidde. Det kan føre til unøjagtige resultater (som vist i eksemplet nedenfor). Det er derfor bedre at bruge double som standard, 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 hele tal, da disse er decimaltal med en decimaldel lig med 0. Dog bør man som god praksis anvende short/int/long, hvis en variabel kun skal indeholde hele tal (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?

Select the correct answer

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

Suggested prompts:

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

bookNumeriske Datatyper

Stryg for at vise menuen

Hele tal

Heltalsdatatyper er de mest anvendte til hele tal. Datatypen int kan indeholde værdier inden for intervallet -2,147,483,648 til 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; }

Dette sker, fordi når du erklærer en int-variabel, allokeres der præcis 4 bytes af din computers hukommelse. Og tal over 2147483647 (eller under -2147483648) kan ikke være inden for 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 befolkning). Du kan også bruge short, hvis du er sikker på, at dit tal ikke overstiger området fra -32,768 til 32,767 (f.eks. lagring af en brugers alder). Brug af short vil optage mindre hukommelse.

main.cpp

main.cpp

copy
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 et types område overskrides, vil C++-kompilatoren ikke advare dig, og du kan modtage en uventet værdi uden nogen fejlmeddelelse.

Flydende kommatal

Datatyperne ovenfor er beregnet til at gemme hele tal. Hvis vi forsøger at tildele 1.6 til en af disse, vil vi få følgende resultat:

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

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

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

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

Da float-typen kun har en præcision på syv cifre, ligger tallet 123.456789 allerede uden for dens rækkevidde. Det kan føre til unøjagtige resultater (som vist i eksemplet nedenfor). Det er derfor bedre at bruge double som standard, 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 hele tal, da disse er decimaltal med en decimaldel lig med 0. Dog bør man som god praksis anvende short/int/long, hvis en variabel kun skal indeholde hele tal (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?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3
some-alt