System.Extended
Delphi
type Extended = { built-in type };
C++
typedef long double Extended; // 10 byte real
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
type typedef |
public | System.pas sysmac.h |
System | System |
説明
高精度浮動小数点値を表します。
System.Extended を使用すると、他の浮動小数点型より計算精度が上がりますが、移植性は低下します。 クロス プラットフォームで共有するデータ ファイルを作成する場合は、System.Extended の使用に注意してください。 次の点に留意してください:
- Intel 32 ビット Windows システムでは、System.Extended のサイズは 10 バイトです。
- Intel 64-bit Linux システムおよび Intel 64 ビット macOS システムでは、System.Extended のサイズは 16 バイトです。
- Intel 64-bit Windows システムおよびすべて ARM システム(iOS 64 ビット、Android 32 ビット、64 ビット、macOS 64 ビットを含む)では、しかしながら、System.Extended 型は System.Double のエイリアスで、8 バイトのみとなります。この違いは、浮動小数点演算の数値精度に悪影響を及ぼすおそれがあります。 詳細については、「Delphi におけるマルチデバイス アプリケーションについての考慮事項」を参照してください。
メモ: 一覧表示されるサイズは、選択されているターゲット プラットフォームによって変わります。
次のコードは、Win32 では 10、Win64 では 8、macOS および Linux では 16 と表示されます。
Writeln(IntToStr(SizeOf(Extended)));