warum benutzt man nicht immer double statt int?

12 Antworten

int ist eine 32-Bit Ganzzahl
double eine 64-Bit-Gleitkommazahl, welche auch mehr Speicherplatz braucht als ein int Datentyp.

Doubles sind extrem aufwendig im Speicher darzustellen. Wenn du dich traust, dann schau dir doch mal im Internet an, wie der IEEE-Standard für floating-points aussieht. Und das dann noch mal doppelt so groß?

Außerdem ist es extrem schlechter Stil, für alle einfach double zu nehmen, wo es nicht gebraucht wird, man macht so etwas einfach nicht. Für Amateure und Leute, die "aus Spaß" programmieren und relativ kleine Projekte machen ist das natürlich nicht sooo relevant aber im Unternehmen, wo professionell programmiert wird, wird man dich schief ansehen.

Da bisher kein wirkliches Ausschlusskriterium gegeben wurde...

Rechnungen mit double bringen falsche Ergebnisse!

Eine Schleife "for (int i = 0; i < 1000; i++) {...}" wird exakt 1000-mal ausgeführt.

Eine Schleife "for (double x = 0.0; x < 1000.0; x += 1.0) wird vielleicht auch 1000 mal ausgeführt, vielleicht aber auch 1001 mal.

Und übrigens...

double-Werte kann man nicht als Index verwenden.

Gleitkommaarithmetik ist 1. langsamer, 2. Entstehen rundungsfehler und 3. Verbraucht doppelt soviel speicherplatz

int (32) 4 byte

double 8 byte

davon abgesehen, will ich in 99% der Fälle keine Nachkommastellen. Außerdem bin ich faul und bei int hab ich weniger Schreibarbeit.