Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.06;
Скачать: CL | DM;

Вниз

Функция возведения в степень   Найти похожие ветки 

 
ilnarab   (2004-05-27 13:28) [0]

Подскажите пожалуйста функцию возводящую число А в степень В. Пробовал Ехр(В * Ln(A)) - не понравилось.


 
Prohodil Mimo ©   (2004-05-27 13:33) [1]

A "Power" chem ne ustraivajet?


 
Ega23 ©   (2004-05-27 13:33) [2]

uses Math

function Power.

Только чем тебе Ехр(В * Ln(A)) - не понравилось?


 
MBo ©   (2004-05-27 13:34) [3]

>Пробовал Ехр(В * Ln(A)) - не понравилось
Ну тогда тебе не понравятся и наши четверги ;) (© анекдот )

Power


 
ilnarab   (2004-05-27 13:34) [4]

А что за функция "Power"?


 
Ega23 ©   (2004-05-27 13:35) [5]

Ну тогда тебе не понравятся и наши четверги ;) (© анекдот )

Что за анекдот?


 
Prohodil Mimo ©   (2004-05-27 13:35) [6]

Eto takaja knopka na sistemnom bloke... nazhal i uzhe v stepeni :o)


 
ilnarab   (2004-05-27 13:38) [7]

А если серьёзно?


 
Vlad ©   (2004-05-27 13:39) [8]


> ilnarab   (27.05.04 13:38) [7]

Raises Base to any power.

Unit

Math

Category

Arithmetic routines

function Power(Base, Exponent: Extended): Extended;

Description

Power raises Base to any power. For fractional exponents or exponents greater than MaxInt, Base must be greater than 0.


 
Ega23 ©   (2004-05-27 13:39) [9]

А если серьёзно?

Если серьёзно, то Power + F1.


 
Prohodil Mimo ©   (2004-05-27 13:41) [10]

ti [2] vnimatel"no prochital?
Jesli etogo malo to Power+F1, nu a jesli i etogo malo to [6] stol"ko raz, v kakuju stepen" vozvesti nado :o)


 
MBo ©   (2004-05-27 13:48) [11]

>Ega23 ©   (27.05.04 13:35) [5]
google по этой фразе


 
Ega23 ©   (2004-05-27 13:58) [12]

google по этой фразе
:о)


 
Глеб ©   (2004-05-27 13:58) [13]

Можно использовать функцию POWER из unit math.
Exp(ln(a)*b) тем плохо, что отрицатеьлные числа нельзя возводить в степень.

Предлагаю хороший алгоритм возведения в степень:

function Pow(a, b: extended): extended;
 var
   k1, k2: extended;
   l: longint;
 begin
   if a > 0 then
     Pow := Exp(b * Ln(a))
   else
   begin
     if b > 0 then
     begin
       l := trunc(b);
       k1 := 1;
       k2 := a;
       while l > 1 do
       begin
         if l mod 2 <> 0 then
         begin
           dec(l);
           k1 := k2 * k1;
         end;
         l := l div 2;
         k2 := k2*k2;
       end;
       Pow := k1*k2;
     end
     else if b = 0 then Pow := 1
     else
     begin
       b := -b;
       l := trunc(b);
       k1 := 1;
       k2 := a;
       while l > 1 do
       begin
         if l mod 2 <> 0 then
         begin
           dec(l);
           k1 := k2 * k1;
         end;
         l := l div 2;
         k2 := k2*k2;
       end;
       Pow := 1/(k1*k2);
     end;
   end;
 end;


Желаю удачи.



Страницы: 1 вся ветка

Текущий архив: 2004.06.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
3-1084538267
Alexey
2004-05-14 16:37
2004.06.06
принт


3-1084453545
Masa
2004-05-13 17:05
2004.06.06
Кодировка в BDE


14-1084705178
Marser
2004-05-16 14:59
2004.06.06
GO, WILD DANCER!!!


6-1082206877
Никита
2004-04-17 17:01
2004.06.06
Соеденение с интернетом средствами Delphi


3-1084719105
Malya
2004-05-16 18:51
2004.06.06
Проблема с парадоксом :((((





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский