Unterschied float und double?

2 Antworten

Es sind beides Fließkomma-Attribute. DOUBLE ist genauer, braucht die doppelte Anzahl Bytes.

Die Anzahl der Bytes kann unterschiedlich von Programmiersprache zu Programmiersprache sein, aber die Anzahl der Bytes ist, die verwendet werden, ist fest, bei DOUBLE eben das Doppelte von dem Speicherplatz für FLOAT.

Bei Berechnungen mit vielen Stellen hinterm Komma oder bei sehr großen Zahlen ist DOUBLE angebracht.


Mikkey  02.06.2019, 13:03

Heutzutage (64-Bit CPU) ist Double eigentlich immer angebracht wenn man nicht sehr viele Werte verfügbar halten muss und knapp mit Speicher oder Übertragungsbandbreite ist. Kürzlich selbst getestet: Rechenvorgänge mit Double sind schneller als mit Float.

JustSayNo 
Beitragsersteller
 02.06.2019, 11:41

Also kurzgesagt so groß wie 2 Floats.

gfntom  02.06.2019, 11:48
@JustSayNo

von der Speichergröße und (ungefähr) von der Anzahl der signifikanten Stellen her : ja.

Der darstellbare Zahlenbereich ist aber nicht doppelt so groß, sondern etwa 10^270 mal so groß!

Das ist aber gerade der Unterschied. Float hat die Hälfte der Bits (z.B. 32 bit), die double hat (z.B. 64 bit). Double ist ja gerade "double precision", also Fließkommazahlen können mit doppelter Präzision/Genauigkeit abgespeichert werden.

Woher ich das weiß:Studium / Ausbildung – Studium der Informatik

JustSayNo 
Beitragsersteller
 02.06.2019, 11:41

Ah danke, jetzt hab ich es verstanden
Dh auf einem Intel 8086 bringe ich keinen double zum laufen? Der hat ja nur 32 bit

Rammstein53  02.06.2019, 11:45
@JustSayNo

Man kann auch mit einer 32Bit-Architektur ein 64-Bit double realisieren bzw. generell 64-Bit Rechenoperationen durchführen. Ist nur viel umständlicher zu realisieren.

628071  02.06.2019, 11:45
@JustSayNo

Das kommt auf die Floating-Point-Unit an. Die Breite der Standardregister hat damit ja erst mal nichts zu tun. Wenn da 'ne Floating-Point-Unit nach IEEE-Standard dabei ist, dann schon. (Die rechnen dann mit 80 bit intern)