岡本@日本女子大学心理学科です。 しばらく、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; ーーーーーーーーーーーーーーーーーーーーーー 日本女子大学心理学科 岡本 安晴
ここは心理学研究の基礎メーリングリストに投稿された過去の記事を掲載しているページです。