Numeriske 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
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 det 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 reservere mer (eller mindre) plass etter behov. Her er tabellen:
Datatyp | ||
---|---|---|
short | 2 byte | |
int | 4 byte | |
long | 8 byte |
Derfor kan long
brukes til å lagre store tall (for eksempel verdens befolkning). short
kan også benyttes dersom det er sikkert at tallet ikke vil overstige området -32,768
til 32,767
(for eksempel lagring av en brukers alder). Bruk av short
vil kreve mindre minneplass.
main.cpp
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 oppmerksom på datatypen du velger. Hvis rekkevidden til en type overskrides, vil C++-kompilatoren ikke 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
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
.
Data Type | ||
---|---|---|
float | ||
double |
Her er et eksempel på bruk av double
for å lagre 1.6
.
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; }
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 nedenfor). Det er derfor bedre å brukedouble
som standard, med mindre du er sikker på at presisjonen tilfloat
er tilstrekkelig.
Det er selvsagt 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 verdier som er heltall (for eksempel befolkning eller antall likerklikk).
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain the difference between float and double in more detail?
What happens if I try to store a number outside the range of a data type?
When should I use short, int, or long in my programs?
Awesome!
Completion rate improved to 3.85
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
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 det 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 reservere mer (eller mindre) plass etter behov. Her er tabellen:
Datatyp | ||
---|---|---|
short | 2 byte | |
int | 4 byte | |
long | 8 byte |
Derfor kan long
brukes til å lagre store tall (for eksempel verdens befolkning). short
kan også benyttes dersom det er sikkert at tallet ikke vil overstige området -32,768
til 32,767
(for eksempel lagring av en brukers alder). Bruk av short
vil kreve mindre minneplass.
main.cpp
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 oppmerksom på datatypen du velger. Hvis rekkevidden til en type overskrides, vil C++-kompilatoren ikke 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
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
.
Data Type | ||
---|---|---|
float | ||
double |
Her er et eksempel på bruk av double
for å lagre 1.6
.
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; }
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 nedenfor). Det er derfor bedre å brukedouble
som standard, med mindre du er sikker på at presisjonen tilfloat
er tilstrekkelig.
Det er selvsagt 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 verdier som er heltall (for eksempel befolkning eller antall likerklikk).
Takk for tilbakemeldingene dine!