Autor Beitrag
moloch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 451

Win 2000
D5 Prof
BeitragVerfasst: Do 15.07.04 13:17 
Hallo Leute,
kann mir jemand den Unterschied zwischen Double und Float nennen?

moloch


Moderiert von user profile iconTino: Topic aus Sonstiges verschoben am Do 15.07.2004 um 13:33
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 15.07.04 13:26 
Den Datentyp Float gibt es nicht. Kuck mal in der Hilfe unter Double nach.
MartinPb
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 698



BeitragVerfasst: Do 15.07.04 13:43 
Float sagt einfach, daß es eine Fließkommazahl ist. Float ist selbst kein Datentyp, aber beschreibt was Double ist. Ein Zahlentyp, der Fließkommazahlen darstellen kann. Allerdings sagt man nicht, daß Double eine Float Zahl ist, sondern eine Reelle Zahl. Beim konvertieren wird allerdings Float genommen: z.B. FloatToStr.

_________________
Gruß
Martin
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Do 15.07.04 14:23 
MartinPb hat folgendes geschrieben:
Ein Zahlentyp, der Fließkommazahlen darstellen kann. Allerdings sagt man nicht, daß Double eine Float Zahl ist, sondern eine Reelle Zahl. Beim konvertieren wird allerdings Float genommen: z.B. FloatToStr.
Nein, reelle Zahlen sind weitaus mehr, als man mit Double darstellen kann.
Double und Single sind, wie du ja im Satz davor richtig gesagt hast, Fließkommazahlen (mathematisch gesehen keine klassische/alltägliche Zahlenmenge), woher dann auch der Begriff "Float" kommt, nämlich vom englischen "Floating Point" (wir erinnern uns, das Komma ist ein Punkt in Amerika ;-)).
Der "magische" Datentyp "Float" ist implementationsabhängig und entspricht einem Fließkommaformat, daß für die darunterliegende Architektur am einfachsten zu handhaben ist (genauso wie Integer und Cardinal, die beiden sind nämlich auch keine Datentypen sondern nur Aliases). In Delphi für Win32 ist das nunmal der Double, mit anderen Pascal-Compilern auf anderen Architekturen wird "Float" u.U. ein anderer Datentyp sein.

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
moloch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 451

Win 2000
D5 Prof
BeitragVerfasst: Do 15.07.04 15:52 
ich danke euch allen für die schnelle Antwort.
warum kann man in delphi eigentlich nur ´mit double-werten rechnen und nicht auch mit integer?

moloch
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Do 15.07.04 15:55 
moloch hat folgendes geschrieben:
warum kann man in delphi eigentlich nur ´mit double-werten rechnen und nicht auch mit integer?
Ich weiß ja nicht, wie du das Rechnen mit Integer-Werten versuchst, aber bei mir klappt das...

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
MartinPb
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 698



BeitragVerfasst: Do 15.07.04 20:22 
Man kann schon mit Integern rechnen, aber du kannst , soweit das Resultat Integer sein muß, nur mit +, -, * und div rechen. Soweit du das / Zeichen für die Division nimmst, wird das Ergebnis Reelle Zahl. Also entweder mit div arbeiten oder mit Trunc() das Ergebnis wieder in Integer konvertieren.

_________________
Gruß
Martin
UC-Chewie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 531

WinXP
D5 Ent
BeitragVerfasst: Fr 16.07.04 09:39 
Noch etwas Theorie:
In gängigen Programmiersprachen werden zwei Fließkomma-Datentypen verwendet, ein 32Bit großer (in C, Java, etc. Float; in Delphi: Single) und ein 64 Bit großer (In Java, C, Delphi: Double).
Der Aufbau erfolgt nach dem IEEE Standard 754.
Dabei wird im höchstwertigen Bit das Vorzeichen gespeichert, danach folgen 8 (bei Float) bzw. 11 (bei Double) Bit Exponent. Der Rest ist dann die Mantisse.
Die Zahl wird gespeichert als
ausblenden Quelltext
1:
2:
(-1)^S * 1.M * 2^(E-127) (für 32 Bit)
(-1)^S * 1.M * 2^(E-1023) (für 64 Bit)


Dabei ist S das Vorzeichen, M die Mantisse und E der Exponent.

_________________
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
moloch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 451

Win 2000
D5 Prof
BeitragVerfasst: Fr 16.07.04 09:45 
noch mal ein danke an euch für die Antworten.
wünsch euch ein schönes wochenende, wenn es nicht noch ein bischen zu früh dafür ist.
mfg
moloch