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

Kursinnhold

C++ Introduction

C++ Introduction

1. Komme i Gang
2. Introduksjon til Operatører
3. Variabler og Datatyper
4. Introduksjon til Programflyt
5. Introduksjon til Functions

book
Numeriske Datatyper

Hele tall

Heltallsdatatyper er de mest brukte for hele tall. Datatypen int kan holde verdier innenfor 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; }

Dette skjer fordi når du erklærer en int-variabel, tildeler den nøyaktig 4 byte av PC-ens minne. Og tall over 2147483647 (eller under -2147483648) passer ikke innenfor de 4 bytene. Heldigvis er det andre datatyper tilgjengelige som kan gi deg mer (eller mindre) plass for dine behov. Her er tabellen:

Datatype
Område
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 bruke long til å lagre store tall (f.eks. verdens befolkning). Du kan også bruke short hvis du er sikker på at tallet ditt ikke vil overstige -32,768 til 32,767 området (f.eks. lagring av en brukers alder). Å bruke short vil ta opp mindre minneplass.

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

Merk

Vær forsiktig med datatypen du velger. Hvis rekkevidden til en type overskrides, vil C++-kompilatoren ikke varsle deg, og du kan motta en uventet verdi uten noen indikasjon på en feil.

Flyttall

Datatypene ovenfor er designet for å lagre hele tall. Hvis vi prøvde å tilordne 1.6 til en av disse, her er hva vi ville fått:

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

int-typen avkorter 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 datatypen.

Datatype
Presisjon
Størrelse
float
7 desimaler
4 bytes
double
15 desimaler
8 bytes

Her er et eksempel på å bruke double for å lagre 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; }

Merk

Siden float-typen bare har en presisjon på syv sifre, er tallet 123.456789 allerede utenfor rekkevidden. Det kan føre til unøyaktige resultater (som vist i eksemplet nedenfor). Så det er bedre å bruke double som standard med mindre du er sikker på at float sin presisjon er tilstrekkelig.

Selvfølgelig kan du bruke float eller double til å lagre hele tall siden disse er desimaltall med en desimaldel lik 0. Men som en god praksis, hvis en variabel lagrer verdier som kun kan være hele tall (f.eks. befolkning eller likes), bør short/int/long brukes.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 3

Spør AI

expand
ChatGPT

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

course content

Kursinnhold

C++ Introduction

C++ Introduction

1. Komme i Gang
2. Introduksjon til Operatører
3. Variabler og Datatyper
4. Introduksjon til Programflyt
5. Introduksjon til Functions

book
Numeriske Datatyper

Hele tall

Heltallsdatatyper er de mest brukte for hele tall. Datatypen int kan holde verdier innenfor 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; }

Dette skjer fordi når du erklærer en int-variabel, tildeler den nøyaktig 4 byte av PC-ens minne. Og tall over 2147483647 (eller under -2147483648) passer ikke innenfor de 4 bytene. Heldigvis er det andre datatyper tilgjengelige som kan gi deg mer (eller mindre) plass for dine behov. Her er tabellen:

Datatype
Område
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 bruke long til å lagre store tall (f.eks. verdens befolkning). Du kan også bruke short hvis du er sikker på at tallet ditt ikke vil overstige -32,768 til 32,767 området (f.eks. lagring av en brukers alder). Å bruke short vil ta opp mindre minneplass.

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

Merk

Vær forsiktig med datatypen du velger. Hvis rekkevidden til en type overskrides, vil C++-kompilatoren ikke varsle deg, og du kan motta en uventet verdi uten noen indikasjon på en feil.

Flyttall

Datatypene ovenfor er designet for å lagre hele tall. Hvis vi prøvde å tilordne 1.6 til en av disse, her er hva vi ville fått:

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

int-typen avkorter 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 datatypen.

Datatype
Presisjon
Størrelse
float
7 desimaler
4 bytes
double
15 desimaler
8 bytes

Her er et eksempel på å bruke double for å lagre 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; }

Merk

Siden float-typen bare har en presisjon på syv sifre, er tallet 123.456789 allerede utenfor rekkevidden. Det kan føre til unøyaktige resultater (som vist i eksemplet nedenfor). Så det er bedre å bruke double som standard med mindre du er sikker på at float sin presisjon er tilstrekkelig.

Selvfølgelig kan du bruke float eller double til å lagre hele tall siden disse er desimaltall med en desimaldel lik 0. Men som en god praksis, hvis en variabel lagrer verdier som kun kan være hele tall (f.eks. befolkning eller likes), bør short/int/long brukes.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 3
Vi beklager at noe gikk galt. Hva skjedde?
some-alt