Warum gibt es float?

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Warum gibt es float?

Beitrag von Timm Thaler »

PascalDragon hat geschrieben:
Sa 29. Aug 2020, 11:17
Der Typ Real existiert zur Kompatibilität mit Turbo Pascal, wobei hier nur das Kompilieren erlaubt werden soll, er ist kein tatsächlicher 48-Bit Typ, wie er in TP war.
Ich find das gar nicht schlecht, wenn ich nur single brauche, und dem Compiler überlassen kann, ob er für 32-bit-Zielhardware single und für 64-bit double verwendet, statt ihn zu einem single zu zwingen, welches dann auf 64-bit wieder rumkopiert werden muss.

Mathias
Beiträge: 6164
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Warum gibt es float?

Beitrag von Mathias »

Ich hatte mal gelesen, das Real am schnellsten rechnete, wen kein mathematische Koprzessor vorhanden war.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Sieben
Beiträge: 202
Registriert: Mo 24. Aug 2020, 14:16
OS, Lazarus, FPC: Ubuntu Xenial 32, Lazarus 2.2.0, FPC 3.2.2
CPU-Target: i386

Re: Warum gibt es float?

Beitrag von Sieben »

Hab gerade nochmal nachgesehen im Opject Pascal Language Guide von Delphi 1.0...:
Delphi1_RealTypes.png
Delphi1_RealTypes.png (126.02 KiB) 1317 mal betrachtet

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Warum gibt es float?

Beitrag von Winni »

Hi!

Wie wär's denn, wenn Du mal aktuelles Zeug liest, und nicht 25 Jahre alte Docs??

* Real ist heute ein Double
* Wenn man den Turbo Pascal Type Real mit 48 Bit braucht, nimmt man Real48
* Da Extended auf vielen 64-Bit-Processoren nicht mehr unterstützt wird, werden sie auf ein Double gemapt.

Und {$N-} möchte ich niemandem wünschen.
Das war für 386 Prozessoren ohne Floating Point Unit.
Die haben alles Fließkomma-Zeug per Software berechnet: z.B.

1/2 oder sin(1.5)

Dauerte 25 mal länger als wenn man sich einen Coprozessor gekauft hat.
Hatte auch Vorteile:
Konnte man Zigaretten drehen, bis der Rechner endlich fertig war.

Winni

Sieben
Beiträge: 202
Registriert: Mo 24. Aug 2020, 14:16
OS, Lazarus, FPC: Ubuntu Xenial 32, Lazarus 2.2.0, FPC 3.2.2
CPU-Target: i386

Re: Warum gibt es float?

Beitrag von Sieben »

Dir auch eine gute Nacht.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Warum gibt es float?

Beitrag von af0815 »

Nur die alten Dokus zeigen, das kein float vorkommt.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

PascalDragon
Beiträge: 825
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Warum gibt es float?

Beitrag von PascalDragon »

Float wurde ja auch von FPC für die Plattformunabhängigkeit eingeführt als noch nicht klar war, dass wir zum Beispiel bei Win64 Extended = Double nutzen würden.
FPC Compiler Entwickler

Antworten