岡本@日本女子大学心理学科です。
しばらく、DelphiでExtended型が有効でなかったのですが、
今朝、Delphi 2006 で試しましたら、有効になっていました。
Extended型の精度は20桁ほどあり、Double型に比べて
5桁ほど有効桁数が多いことなど魅力的な型ですが、
なんといってもPentiumがサポートしている型がExtended型であり
Double型はExtended型に変換にして計算されているという無駄が
あります。
チェックに用いたソースコードは以下の通りです。
VCLアプリケーションWin32対応です。
ーーーーーーーーーーーーーーーーーーーーーー
uses Math;
procedure TForm1.Button1Click(Sender: TObject);
var a, b, a1 : extended; //double;
begin
SetPrecisionMode(pmExtended);
a := 1.0;
b := 1.0;
repeat
a1 := a;
b := b * 0.1;
a := a + b;
Memo1.Lines.Add('b = '+FloatToStrF(b,ffGeneral,25,21));
Memo1.Lines.Add('a = '+FloatToStrF(a,ffGeneral,25,21));
Memo1.Lines.Add('a1 = '+FloatToStrF(a1,ffGeneral,25,21));
until a = a1;
end;
ーーーーーーーーーーーーーーーーーーーーーー
日本女子大学心理学科
岡本 安晴
ここは心理学研究の基礎メーリングリストに投稿された過去の記事を掲載しているページです。