System.TDoubleRec
Delphi
TDoubleRec = packed record
C++
struct DECLSPEC_DRECORD TDoubleRec
{
private:
double aDouble;
UInt8 __fastcall InternalGetBytes(unsigned Index);
UInt16 __fastcall InternalGetWords(unsigned Index);
void __fastcall InternalSetBytes(unsigned Index, const UInt8 Value);
void __fastcall InternalSetWords(unsigned Index, const UInt16 Value);
UInt8 __fastcall GetBytes(unsigned Index);
UInt16 __fastcall GetWords(unsigned Index);
void __fastcall SetBytes(unsigned Index, const UInt8 Value);
void __fastcall SetWords(unsigned Index, const UInt16 Value);
unsigned __int64 __fastcall GetExp();
unsigned __int64 __fastcall GetFrac();
bool __fastcall GetSign();
void __fastcall SetExp(unsigned __int64 NewExp);
void __fastcall SetFrac(unsigned __int64 NewFrac);
void __fastcall SetSign(bool NewSign);
public:
int __fastcall Exponent();
Extended __fastcall Fraction();
unsigned __int64 __fastcall Mantissa();
__property bool Sign = {read=GetSign, write=SetSign};
__property unsigned __int64 Exp = {read=GetExp, write=SetExp};
__property unsigned __int64 Frac = {read=GetFrac, write=SetFrac};
TFloatSpecial __fastcall SpecialType();
void __fastcall BuildUp(const bool SignFlag, const unsigned __int64 Mantissa, const int Exponent);
static TDoubleRec __fastcall _op_Explicit(Extended a);
__property UInt8 Bytes[unsigned Index] = {read=GetBytes, write=SetBytes};
__property UInt16 Words[unsigned Index] = {read=GetWords, write=SetWords};
};
Properties
Type | Visibility | Source | Unit | Parent |
---|---|---|---|---|
record struct |
public | System.pas System.hpp |
System | System |
Description
Attention: TDoubleRec is deprecated. Please use SysUtils.TDoubleHelper.
Provides support for manipulating double precision floating-point values.
A TDoubleRec can be used to perform low-level operations on a double precision floating-point value. For example, the sign, the exponent, and the mantissa can be changed separately.
Note:
- To manipulate a double-precision floating-point data type, it is recommended that you use TDoubleHelper. However, TDoubleRec is not obsolete, and you can use TDoubleRec to allocate double-precision floating-point data.
- Beginning from XE3, the TDoubleRec.Bytes and TDoubleRec.Words properties are array properties. System.High and System.Low operators do not apply for array properties. You can use System.SizeOf instead, as shown in the example in TSingleRec.