Integer

Tags:    c++

Hej, jeg har lige et super hurtigt spørgsmål.

Hvad er en integer, og hvad betyder at at en int variable kan indeholde en integer?



Hej, jeg har lige et super hurtigt spørgsmål.

Hvad er en integer, og hvad betyder at at en int variable kan indeholde en integer?


Integer er engelsk og betyder 'heltal'. Dvs. tal som f.eks. 0 og 100 og -1773, men ikke 3.14

Alle variabler har en datatype og en variabel af typen 'int' kan altså indeholde heltal.

'int' har en begrænset størrelse afhængig af den CPU (32 eller 64 bits) du compiler til, og kan på 32 bit systemer ligge fra -2147483649 op til 2147483648, og på 64 bit systemer fra -9223372036854775809 til 9223372036854775808 (så er der lidt at lege med :) ). Ved at bruge 'unsigned int', som er positive heltal, kan du nå op til den dobbelte størrelse, men mister altså de negative.

Men fordi 'int' kun kan indeholde heltal, kan du miste præcision under beregninger. F.eks følgende:

7 / 2 = 3

...fordi 7 divideret med 2 giver 3.5 men decimalet fjernes hårdt og brutalt...der afrundes altid nedad.

Håber det gav en idé om, hvad en integer er. Ellers må du sige til igen :-)



Mange tak. Det var jo slet ikke så svært at forstå. Er det ikke rigtig at man bruger man float, double og long double til kommatal?



Indlæg senest redigeret d. 24.05.2009 17:02 af Bruger #10113
Mange tak. Det var jo slet ikke så svært at forstå. Er det ikke rigtig at man bruger man float, double og long double til kommatal?


Jo det er rigtigt.
Double har typisk sjovt nok dobbelt så stor præcision som en float. Man kan ikke nødvendigs skrive lige præcis det tal man vil med float eller double fordi tal i computeren er begrænset af visse faktorer såsom det antal bits tallet er repræsenteret ved lige som Robert nævner om ints. Man kan skrive små forholdsvis præcise tal, eller meget store ikke så præcise tal med float/double.



Mange tak begge to. Jeg har forstået det nu.



t