系统。 T延长80Rec
T延长80 Rec = 拥挤的 记录
结构 DECLSPEC_数据线 T延长80 Rec
{
私有的 :
#ifndef_WIN64
扩展 a扩展80 ;
#其他 /*_WIN64(_WIN64)*/
未签名的 __整数64 a延伸80Frac ;
用户界面16 aExtended80扩展 ;
#结尾 /*_WIN64(_WIN64)*/
用户界面8 __快速呼叫 内部获取字节 ( 未签名的 索引 );
用户界面16 __快速呼叫 内部GetWords ( 未签名的 索引 );
无效 __快速呼叫 内部设置字节 ( 未签名的 索引 , 常数 用户界面8 价值 );
无效 __快速呼叫 内部设置字 ( 未签名的 索引 , 常数 用户界面16 价值 );
用户界面8 __快速呼叫 获取字节 ( 未签名的 索引 );
用户界面16 __快速呼叫 获取单词 ( 未签名的 索引 );
未签名的 __整数64 __快速呼叫 获取导出(_E) ();
未签名的 __整数64 __快速呼叫 获取Exp ();
未签名的 __整数64 __快速呼叫 GetFrac公司 ();
布尔 __快速呼叫 获取签名 ();
无效 __快速呼叫 设置字节 ( 未签名的 索引 , 常数 用户界面8 价值 );
无效 __快速呼叫 设置单词 ( 未签名的 索引 , 常数 用户界面16 价值 );
无效 __快速呼叫 设置导出(_E) ( 未签名的 __整数64 新Exp );
无效 __快速呼叫 设置Exp ( 未签名的 __整数64 新建Exp );
无效 __快速呼叫 SetFrac公司 ( 未签名的 __整数64 NewFrac公司 );
无效 __快速呼叫 设置标志 ( 布尔 新签名 );
公众的 :
整数 __快速呼叫 指数 ();
扩展 __快速呼叫 分数 ();
未签名的 __整数64 __快速呼叫 曼蒂萨 ();
__财产 布尔 签名 = { 阅读 = 获取签名 , 写 = 设置标志 };
__财产 未签名的 __整数64 费用 = { 阅读 = 获取Exp , 写 = 设置Exp };
__财产 未签名的 __整数64 _实验 = { 阅读 = 获取导出(_E) , 写 = 设置导出(_E) };
__财产 未签名的 __整数64 压裂 = { 阅读 = GetFrac公司 , 写 = SetFrac公司 };
TFloat专用 __快速呼叫 特殊类型 ();
无效 __快速呼叫 BuildUp(构建) ( 常数 布尔 标志标志 , 常数 未签名的 __整数64 曼蒂萨 , 常数 整数 指数 );
静止的 T延长80 Rec __快速呼叫 _操作_明确 ( 扩展 一 );
__财产 用户界面8 字节 [ 未签名的 索引 ] = { 阅读 = 获取字节 , 写 = 设置字节 };
__财产 用户界面16 话 [ 未签名的 索引 ] = { 阅读 = 获取单词 , 写 = 设置单词 };
};
属性
描述
注:
要操作80位扩展精度浮点类型,建议使用 TExtended助手 然而, T延长80 Rec 不是过时的,您可以使用 T延长80 Rec 以分配80位扩展数据。 从XE3开始 TExtended80接收。 字节 和 T延长80Rec。 话 属性是数组属性。 系统。 高 和 系统。 低 运算符不适用于数组属性。 您可以使用 系统。 大小Of 相反,如中的示例所示 TSingleRec(单片) .
例子
无功功率,无功功率
F类 : T延长80 Rec ;
E类 : 扩展 ;
我 : 整数 ;
常数
选项卡 = Chr公司 ( 9 ) ;
开始
F类 := T延长80 Rec ( - 6 6.3 ) ;
Writeln公司 ( '签名:' + 选项卡 + 选项卡 + 国际贸易协定 ( 整数 ( F类 . 签名 ))) ;
Writeln公司 ( '指数:' + 选项卡 + IntToStr公司 ( 整数 ( F类 . 费用 ))) ;
Writeln公司 ( “曼蒂萨:” + 选项卡 + 整数到十六进制 ( 用户界面64 ( F类 . 曼蒂萨 ) , 16 )) ;
//指数减去1
//这等于除以2
F类 . 费用 := F类 . 费用 - 1 ;
E类 := 扩展 ( F类 ) ;
Writeln公司 ( '扩展的大小£º' + 选项卡 + 国际贸易协定 ( 大小Of ( E类 ))) ; //在Win32上显示10,在Win64上显示8
Writeln公司 ( 浮点数到Str ( E类 )) ; //显示器-33.15(-66.3/2)
// ...
标志:1 指数:16389 曼蒂萨:849999999999999A 扩展尺寸:10 -33.15
标志:1 指数:16389 曼蒂萨:8499999999999800 扩展的大小:8 -33.15