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

Numeriske 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

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. Og 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

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 rekkevidden 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:

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 avkorter desimaldelen av et tall. Denne oppførselen er den samme for typene short og long. For å lagre flyttall (desimaltall), bør du bruke enten datatypen float eller double.

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

Siden float-typen kun har en presisjon på syv sifre, er tallet 123.456789 allerede utenfor rekkevidden. 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.

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

question mark

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

Velg det helt riktige svaret

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

Seksjon 3. Kapittel 3
some-alt