Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.031 c
14-1084762100
тихий вовочка
2004-05-17 06:48
2004.06.06
исчезновение информации с винта


1-1085390506
webpauk
2004-05-24 13:21
2004.06.06
WebBrowser


1-1085330206
k@rt
2004-05-23 20:36
2004.06.06
Удаление символа из PChar


1-1085129195
AngelSAI
2004-05-21 12:46
2004.06.06
Экспорт текста из Microsoft Word в StringGrid.


3-1084831051
Valera
2004-05-18 01:57
2004.06.06
Права и роли FireBird





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский