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

Вниз

pascal - возведение в степень   Найти похожие ветки 

 
Igit   (2003-10-19 11:48) [0]

F:=((-1)^n)*((2*x)^n);
Я думал это "^", но он ругается.
n - integer
F - real
x - const = 0.5


 
Anatoly Podgoretsky   (2003-10-19 12:03) [1]

Power


 
mOOx_   (2003-10-19 12:04) [2]

Ты думал не правильно.
Возведение в степень: exp(y*ln(x)), где x - число, y - степень.
Удачи.
ЗЫ. И учи паскаль и математику ;)


 
default   (2003-10-19 12:22) [3]


function Degree(const DegBasis, DegParam: Extended): Extended;
asm
// Вход: DegBasis, DegParam --> в стеке
// Выход: Result(= DegParam в случае некорректных данных) --> ST(0)

FLD DegParam
FLDZ
FCOMIP ST, ST(1)
JNZ @@DegParam_is_not_0
FFREE ST
FLD1
JMP @@exit
@@DegParam_is_not_0:
JNC @@DegParam_is_less_than_0
XOR EAX, EAX
JMP @@cmp_DegBasis_to_0
@@DegParam_is_less_than_0:
OR EAX, 1
@@cmp_DegBasis_to_0:
FLD DegBasis
FLDZ
FCOMIP ST, ST(1)
JNZ @@DegBasis_is_not_0
TEST EAX, 1
JZ @@DegParam_is_greater_than_0
FSTP ST
JMP @@exit
@@DegParam_is_greater_than_0:
FSTP ST(1)
JMP @@exit
@@DegBasis_is_not_0:
JC @@DegBasis_is_greater_than_0
FABS
FXCH
OR EAX, 1
FLD ST
FRNDINT
FSUB ST, ST(1)
FLDZ
FCOMIP ST, ST(1)
FSTP ST
JZ @@DegParam_is_integer
FLD1
FDIV ST, ST(1)
FABS
FLD1
FCOMIP ST, ST(1)
JC @@Abs_1_div_DegParam_greater_than_1
FSTP ST
FSTP ST(1)
JMP @@exit
@@Abs_1_div_DegParam_greater_than_1:
FISTP QWORD PTR @@Int_64
TEST BYTE PTR @@Int_64, 1
JNZ @@change_a_sign_at_the_and_of_calculations
FSTP ST(1)
JMP @@exit
@@DegParam_is_integer:
FLD ST
FISTP QWORD PTR @@Int_64
TEST BYTE PTR @@Int_64, 1
JNZ @@change_a_sign_at_the_and_of_calculations
XOR EAX, EAX
@@change_a_sign_at_the_and_of_calculations:
FXCH
@@DegBasis_is_greater_than_0:
FYL2X
FLD ST
FRNDINT
FSUB ST(1), ST
FXCH
F2XM1
FLD1
FADD
FSCALE
FSTP ST(1)
TEST EAX, 1
JZ @@exit
FCHS
JMP @@exit
@@Int_64:
DQ 0
@@exit:
FWAIT

end;

или так
Degree(-8, 1 / 3) = -2
Math.Power, например, такое не берёт


 
default   (2003-10-19 12:30) [4]

mOOx_ © (19.10.03 12:04) [2]
exp(y*ln(x)), X > 0


 
mOOx_   (2003-10-19 12:32) [5]

Ну да :). По крайней мере не такой асмовский изврат :) Тебе не в лома было эту штуку писать?


 
default   (2003-10-19 12:34) [6]

mOOx_ © (19.10.03 12:32) [5]
упражняться же надо на чём-то)


 
Igit   (2003-10-19 13:01) [7]

Спасибо.



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

Форум: "Основная";
Текущий архив: 2003.10.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.012 c
14-98814
Наглый
2003-10-12 16:41
2003.10.30
Модераторам!!! В ветку потрепаться


8-98744
Dankin
2003-07-01 03:28
2003.10.30
Как побороть мерцание?


4-98919
Son!K
2003-08-26 16:00
2003.10.30
Формы


6-98759
Неумеха
2003-09-05 14:28
2003.10.30
Web-страницы через ShellExecute


1-98638
KSergey
2003-10-17 14:28
2003.10.30
Про устройство компонента DBGrid





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