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++ Introduction
course content

Kursusindhold

C++ Introduction

C++ Introduction

1. Kom Godt i Gang
2. Introduktion til Operatorer
3. Variabler og Datatyper
4. Introduktion til Programflow
5. Introduktion til Funktioner

book
Numeriske Datatyper

Hele tal

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

cpp

main

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

Det sker, fordi når du erklærer en int-variabel, allokerer den præcis 4 bytes af din PC's hukommelse. Og tal over 2147483647 (eller under -2147483648) passer ikke inden for de 4 bytes. Heldigvis er der andre datatyper tilgængelige, der kan allokere dig mere (eller mindre) plads til dine behov. Her er tabellen:

Datatype
Interval
Størrelse
short
-32,768 til 32,767
2 bytes
int
-2,147,483,648 til 2,147,483,647
4 bytes
long
-9223372036854775808 til 9223372036854775807
8 bytes

Så du kan 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 vil overstige -32,768 til 32,767 intervallet (f.eks. lagring af en brugers alder). Brug af short vil optage mindre hukommelsesplads.

cpp

main

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

Bemærk

Vær forsigtig med den datatype, du vælger. Hvis rækkevidden af en type overskrides, vil C++-kompilatoren ikke give dig besked, og du kan modtage en uventet værdi uden nogen indikation af en fejl.

Flydende punkt tal

Datatyperne ovenfor er designet til at gemme hele tal. Hvis vi forsøgte at tildele 1.6 til en af dem, her er hvad vi ville få:

cpp

main

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

The int type truncates the decimal part of a number. This behavior is the same for short and long types. To store floating-point (decimal) numbers, you should use either the float or double data type.

Datatype
Præcision
Størrelse
float
7 decimale cifre
4 bytes
double
15 decimale cifre
8 bytes

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

cpp

main

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

Bemærk

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

Selvfølgelig kan du bruge float eller double til at gemme hele tal, da disse er decimaltal med en decimaldel lig med 0. Men som en god praksis, hvis en variabel gemmer værdier, der kun kan være hele tal (f.eks. befolkning eller likes), bør short/int/long bruges.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3

Spørg AI

expand
ChatGPT

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

course content

Kursusindhold

C++ Introduction

C++ Introduction

1. Kom Godt i Gang
2. Introduktion til Operatorer
3. Variabler og Datatyper
4. Introduktion til Programflow
5. Introduktion til Funktioner

book
Numeriske Datatyper

Hele tal

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

cpp

main

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

Det sker, fordi når du erklærer en int-variabel, allokerer den præcis 4 bytes af din PC's hukommelse. Og tal over 2147483647 (eller under -2147483648) passer ikke inden for de 4 bytes. Heldigvis er der andre datatyper tilgængelige, der kan allokere dig mere (eller mindre) plads til dine behov. Her er tabellen:

Datatype
Interval
Størrelse
short
-32,768 til 32,767
2 bytes
int
-2,147,483,648 til 2,147,483,647
4 bytes
long
-9223372036854775808 til 9223372036854775807
8 bytes

Så du kan 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 vil overstige -32,768 til 32,767 intervallet (f.eks. lagring af en brugers alder). Brug af short vil optage mindre hukommelsesplads.

cpp

main

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

Bemærk

Vær forsigtig med den datatype, du vælger. Hvis rækkevidden af en type overskrides, vil C++-kompilatoren ikke give dig besked, og du kan modtage en uventet værdi uden nogen indikation af en fejl.

Flydende punkt tal

Datatyperne ovenfor er designet til at gemme hele tal. Hvis vi forsøgte at tildele 1.6 til en af dem, her er hvad vi ville få:

cpp

main

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

The int type truncates the decimal part of a number. This behavior is the same for short and long types. To store floating-point (decimal) numbers, you should use either the float or double data type.

Datatype
Præcision
Størrelse
float
7 decimale cifre
4 bytes
double
15 decimale cifre
8 bytes

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

cpp

main

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

Bemærk

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

Selvfølgelig kan du bruge float eller double til at gemme hele tal, da disse er decimaltal med en decimaldel lig med 0. Men som en god praksis, hvis en variabel gemmer værdier, der kun kan være hele tal (f.eks. befolkning eller likes), bør short/int/long bruges.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3
Vi beklager, at noget gik galt. Hvad skete der?
some-alt