System.Extended
Delphi
type Extended = { built-in type };
C++
typedef long double Extended; // 10 byte real
Properties
Type | Visibility | Source | Unit | Parent |
---|---|---|---|---|
type typedef |
public | System.pas sysmac.h |
System | System |
Description
Represents a high-precision floating-point value.
System.Extended offers greater precision than other real types, but is less portable. Be careful using System.Extended if you are creating data files to share across platforms. Be aware that:
- On Intel Win32 systems, the size of System.Extended is 10 bytes.
- On Intel macOS or iOS-Simulator systems, the size of System.Extended is 16 bytes.
- On Linux, the size of System.Extended is 16 bytes.
- On Intel Win64 systems, or ARM system include iOS and Android, however, the System.Extended type is an alias for System.Double, which is only 8 bytes. This difference can adversely affect numeric precision in floating-point operations. For more information, see Delphi Considerations for Multi-Device Applications.
The following code displays 10 on Win32, 8 on Win64 and 16 on macOS and Linux.
Writeln(IntToStr(SizeOf(Extended)));