Verschil tussen int en double

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%

inten doublehebben een verschillende semantiek. Denk aan verdeeldheid. 1/2is 0, 1.0/2.0is 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 intrekenkunde 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. doubleis een gegevenstype met drijvende komma en bewerkingen met drijvende komma zijn bij benadering wanneer er een breuk is.

doubleneemt ook twee keer zoveel ruimte in beslag als intin 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:

intgebruikt 4 bytes geheugen (en het KAN GEEN decimaal bevatten), doublegebruikt 8 bytes geheugen. Gewoon verschillende tools voor verschillende doeleinden.

Other episodes