Numeriska Datatyper
Heltal
Heltalsdatatyper används oftast för heltal. Datatypen int kan lagra värden inom intervallet -2,147,483,648 till 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; }
Detta sker eftersom när du deklarerar en int-variabel, reserveras exakt 4 byte av datorns minne. Och tal över 2147483647 (eller under -2147483648) får inte plats i dessa 4 byte. Som tur är finns det andra datatyper som kan reservera mer (eller mindre) utrymme beroende på behov. Här är tabellen:
Du kan använda long för att lagra stora tal (t.ex. världens befolkning). Du kan också använda short om du är säker på att ditt tal inte kommer att överskrida intervallet -32,768 till 32,767 (t.ex. lagring av en användares ålder). Att använda short tar upp mindre minnesutrymme.
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; }
Var försiktig med vilken datatyp du väljer. Om intervallet för en typ överskrids kommer C++-kompilatorn inte att meddela dig, och du kan få ett oväntat värde utan någon indikation på fel.
Flyttal
Datatyperna ovan är avsedda för att lagra heltal. Om vi försöker tilldela 1.6 till någon av dessa, får vi följande 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 trunkerar decimaldelen av ett tal. Detta beteende är detsamma för short och long. För att lagra flyttal (decimaltal) bör du använda antingen datatypen float eller double.
Här är ett exempel på hur double används för att lagra 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; }
Eftersom typen float endast har en precision på sju siffror, ligger talet 123.456789 redan utanför dess räckvidd. Detta kan leda till inexakta resultat (som visas i exemplet nedan). Det är därför bättre att använda double som standard om du inte är säker på att float har tillräcklig precision.
Det är möjligt att använda float eller double för att lagra heltal eftersom dessa är decimaltal med en decimaldel lika med 0. Dock är det god praxis att använda short/int/long om en variabel endast ska lagra heltalsvärden (t.ex. befolkning eller antal gillamarkeringar).
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 3.85
Numeriska Datatyper
Svep för att visa menyn
Heltal
Heltalsdatatyper används oftast för heltal. Datatypen int kan lagra värden inom intervallet -2,147,483,648 till 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; }
Detta sker eftersom när du deklarerar en int-variabel, reserveras exakt 4 byte av datorns minne. Och tal över 2147483647 (eller under -2147483648) får inte plats i dessa 4 byte. Som tur är finns det andra datatyper som kan reservera mer (eller mindre) utrymme beroende på behov. Här är tabellen:
Du kan använda long för att lagra stora tal (t.ex. världens befolkning). Du kan också använda short om du är säker på att ditt tal inte kommer att överskrida intervallet -32,768 till 32,767 (t.ex. lagring av en användares ålder). Att använda short tar upp mindre minnesutrymme.
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; }
Var försiktig med vilken datatyp du väljer. Om intervallet för en typ överskrids kommer C++-kompilatorn inte att meddela dig, och du kan få ett oväntat värde utan någon indikation på fel.
Flyttal
Datatyperna ovan är avsedda för att lagra heltal. Om vi försöker tilldela 1.6 till någon av dessa, får vi följande 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 trunkerar decimaldelen av ett tal. Detta beteende är detsamma för short och long. För att lagra flyttal (decimaltal) bör du använda antingen datatypen float eller double.
Här är ett exempel på hur double används för att lagra 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; }
Eftersom typen float endast har en precision på sju siffror, ligger talet 123.456789 redan utanför dess räckvidd. Detta kan leda till inexakta resultat (som visas i exemplet nedan). Det är därför bättre att använda double som standard om du inte är säker på att float har tillräcklig precision.
Det är möjligt att använda float eller double för att lagra heltal eftersom dessa är decimaltal med en decimaldel lika med 0. Dock är det god praxis att använda short/int/long om en variabel endast ska lagra heltalsvärden (t.ex. befolkning eller antal gillamarkeringar).
Tack för dina kommentarer!