System.Extended
Delphi
type Extended = { built-in type };
C++
typedef long double Extended; // 10 byte real
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
type typedef |
public | System.pas sysmac.h |
System | System |
Beschreibung
Repräsentiert einen Gleitkommawert mit hoher Genauigkeit.
Der Typ System.Extended bietet eine höhere Genauigkeit, ist aber nicht so einfach portierbar wie andere reellen Typen. Verwenden Sie System.Extended mit Bedacht, wenn Sie Datendateien anlegen, die plattformübergreifend genutzt werden sollen. Beachten Sie Folgendes:
- Auf Intel-32-Bit-Windows-Systemen beträgt die Größe von System.Extended 10 Byte.
- Auf Intel-32-Bit-macOS- oder iOS-Simulator-Systemen beträgt die Größe von System.Extended 16 Byte, um mit BCCOSX kompatibel zu bleiben.
- Auf Intel-Linux-Systemen beträgt die Größe von System.Extended 16 Byte.
- Auf Intel-64-Bit-Windows-Systemen ist der System.Extended-Typ allerdings ein Alias für System.Double, der nur 8 Byte groß ist. Diese Differenz kann die numerische Genauigkeit von Gleitkommaoperationen nachteilig beeinflussen. Weitere Informationen finden Sie unter Gesichtspunkte für geräteübergreifende Delphi-Anwendungen.
- Auf ARM-Systemen, einschließlich iOS und Android, ist der System.Extended-Typ allerdings ein Alias für System.Double, der nur 8 Byte groß ist. Diese Differenz kann die numerische Genauigkeit von Gleitkommaoperationen nachteilig beeinflussen. Weitere Informationen finden Sie unter Gesichtspunkte für geräteübergreifende Delphi-Anwendungen.
Mit dem folgenden Code wird unter Win32 10, unter Win64 8 und unter macOS und Linux die Zahl 16 angezeigt.
Writeln(IntToStr(SizeOf(Extended)));