exp指数函数
x,y变量类型为Doulbe;y:= exp(x);//正常y>0,但在运行当中经常会报为0出错,出错时我监视到exp(x)的值为 1.8126776604e-324,而赋值给数组y以后,相应的y变为0报错。 而监视数组y, 在报错之前的存储有的时候数值范围比这个还大,也未报错。真心搞不懂。求助各位朋友? 报错前数组y的值(2.964393875e-323, 9.8813129168e-324, 0, 0, 0, 0, 0, 0, 0, 0, 0) 。
所有数据都未超出DELPHI下Double数据类型的数值范围。不明白哪里出错?
系统为win7旗舰版,delphi为D7企业版
没人顶吗 在线求教困扰我多日的问题 unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
x: Integer;
y: array of Double;
begin
for x:=1 to 200 do
begin
y:=Exp(x);
Memo1.Lines.Add(IntToStr(x)+' : '+FloatToStr(y));
end;
end;
end.
不知上面这段程序,是否符合你编程意图,我这运行没任何问题,xp系统。
页:
[1]