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++ Introduksjon

bookNumeriske Datatyper

Hele tall

Heltallsdatatyper er de mest brukte for hele tall. Datatypen int kan lagre verdier innenfor området -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 skjer fordi når du erklærer en int-variabel, reserveres nøyaktig 4 byte av PC-ens minne. Tall over 2147483647 (eller under -2147483648) får ikke plass i disse 4 bytene. Heldigvis finnes det andre datatyper som kan gi deg mer (eller mindre) plass etter behov. Her er tabellen:

Du kan bruke long for å lagre store tall (for eksempel verdens befolkning). Du kan også bruke short hvis du er sikker på at tallet ikke vil overstige området fra -32,768 til 32,767 (for eksempel lagring av en brukers alder). Bruk av short vil bruke mindre minneplass.

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
Merk

Vær oppmerksom på datatypen du velger. Hvis området til en type overskrides, vil ikke C++-kompilatoren varsle deg, og du kan få en uventet verdi uten noen indikasjon på feil.

Flyttall

Datatypene ovenfor er laget for å lagre heltall. Hvis vi prøver å tilordne 1.6 til en av 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 trunkerer desimaldelen av et tall. Denne oppførselen er den samme for short og long-typene. For å lagre flyttall (desimaltall) bør du bruke enten float eller double datatype.

Her er et eksempel på bruk av double for å lagre 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
Merk

Siden float-typen kun har en presisjon på syv sifre, er tallet 123.456789 allerede utenfor dens område. Dette kan føre til unøyaktige resultater (som vist i eksempelet under). Det er derfor bedre å bruke double som standard, med mindre du er sikker på at presisjonen til float er tilstrekkelig.

Selvfølgelig kan du bruke float eller double til å lagre heltall, siden disse er desimaltall med en desimaldel lik 0. Likevel, som en god praksis, dersom en variabel kun skal lagre verdier som er heltall (for eksempel befolkning eller antall likerklikk), bør short/int/long brukes.

question mark

Hva skjer hvis du prøver å tilordne et tall større enn 2,147,483,647 til en int-variabel?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 3

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 3.85

bookNumeriske Datatyper

Sveip for å vise menyen

Hele tall

Heltallsdatatyper er de mest brukte for hele tall. Datatypen int kan lagre verdier innenfor området -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 skjer fordi når du erklærer en int-variabel, reserveres nøyaktig 4 byte av PC-ens minne. Tall over 2147483647 (eller under -2147483648) får ikke plass i disse 4 bytene. Heldigvis finnes det andre datatyper som kan gi deg mer (eller mindre) plass etter behov. Her er tabellen:

Du kan bruke long for å lagre store tall (for eksempel verdens befolkning). Du kan også bruke short hvis du er sikker på at tallet ikke vil overstige området fra -32,768 til 32,767 (for eksempel lagring av en brukers alder). Bruk av short vil bruke mindre minneplass.

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
Merk

Vær oppmerksom på datatypen du velger. Hvis området til en type overskrides, vil ikke C++-kompilatoren varsle deg, og du kan få en uventet verdi uten noen indikasjon på feil.

Flyttall

Datatypene ovenfor er laget for å lagre heltall. Hvis vi prøver å tilordne 1.6 til en av 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 trunkerer desimaldelen av et tall. Denne oppførselen er den samme for short og long-typene. For å lagre flyttall (desimaltall) bør du bruke enten float eller double datatype.

Her er et eksempel på bruk av double for å lagre 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
Merk

Siden float-typen kun har en presisjon på syv sifre, er tallet 123.456789 allerede utenfor dens område. Dette kan føre til unøyaktige resultater (som vist i eksempelet under). Det er derfor bedre å bruke double som standard, med mindre du er sikker på at presisjonen til float er tilstrekkelig.

Selvfølgelig kan du bruke float eller double til å lagre heltall, siden disse er desimaltall med en desimaldel lik 0. Likevel, som en god praksis, dersom en variabel kun skal lagre verdier som er heltall (for eksempel befolkning eller antall likerklikk), bør short/int/long brukes.

question mark

Hva skjer hvis du prøver å tilordne et tall større enn 2,147,483,647 til en int-variabel?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 3
some-alt