Ik vroeg me af of iemand me kon vertellen waarom iemand int zou gebruiken in plaats van double?
Het lijkt erop dat double veel flexibeler is dan int.
Bedankt
Antwoord 1, autoriteit 100%
int
en double
hebben een verschillende semantiek. Denk aan verdeeldheid. 1/2
is 0
, 1.0/2.0
is 0.5
. In elke gegeven situatie zal een van die antwoorden goed zijn en de andere fout.
Dat gezegd hebbende, er zijn programmeertalen, zoals JavaScript, waarin 64-bit float het enige numerieke gegevenstype is. Je moet sommige divisieresultaten expliciet afkappen om dezelfde semantiek te krijgen als Java int
. Talen zoals Java die integer-types ondersteunen, maken het afkappen automatisch voor integer-variabelen.
Naast andere semantiek dan double
, is int
rekenkunde over het algemeen sneller, en de kleinere omvang (32 bits versus 64 bits) leidt tot een efficiënter gebruik van caches en bandbreedte voor gegevensoverdracht.
Antwoord 2, autoriteit 47%
Bewerkingen op gehele getallen zijn exact. double
is een gegevenstype met drijvende komma en bewerkingen met drijvende komma zijn bij benadering wanneer er een breuk is.
double
neemt ook twee keer zoveel ruimte in beslag als int
in veel implementaties (bijvoorbeeld de meeste 32-bits systemen).
Antwoord 3
int is een binaire weergave van een geheel getal, double is een getal met dubbele precisie met drijvende komma.
Antwoord 4
Kort antwoord:
int
gebruikt 4 bytes geheugen (en het KAN GEEN decimaal bevatten), double
gebruikt 8 bytes geheugen. Gewoon verschillende tools voor verschillende doeleinden.