View Full Version : عملگر توان در دلفی
behzad_dr
شنبه 23 آذر 1387, 01:57 صبح
سلام
ببخشید یه سوال ابتدایی .. تابع توان در دلفی چیه ؟ البته برای رساندن به توان 2 از sqr میشه استفاده کرد .. اما برای توان های بالاتر آیا تابعی وجود دارد ؟ یا باید الگوریتمی پیاده کنیم ؟
DAMAVAND
شنبه 23 آذر 1387, 02:08 صبح
با تابع power
ابتدا math رو به uses اضافه کنيد و بعد :
procedure TForm1.Button1Click(Sender: TObject);
var
A:Extended;
begin
A:=power(2,8);
Caption:=FloatToStr(A);
end;
samir2253122
دوشنبه 25 آذر 1387, 21:39 عصر
تابع Power هم از روش لگاريتمي استفاده ميكنه پس بهتر خودمون از اين روش استفاده كنيم و در محاسبات پيچيده سرعت را بالا ببريم.
function Power(const Base, Exponent: Extended): Extended;
begin
if Exponent = 0.0 then
Result := 1.0 { n**0 = 1 }
else if (Base = 0.0) and (Exponent > 0.0) then
Result := 0.0 { 0**n = 0, n > 0 }
else if (Frac(Exponent) = 0.0) and (Abs(Exponent) <= MaxInt) then
Result := IntPower(Base, Integer(Trunc(Exponent)))
else
Result := Exp(Exponent * Ln(Base))
end;
يعني
y=x^a
y := Exp(a * Ln(x))
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.