Изучайте английский язык в крупнейшей европейской школе Skyeng
Источник
Как написать степень в делфи ← → Mk30 © ( 2008-02-17 10:35 ) [1]
держи пример Х в степени y = x:=exp(y*ln(x))
← → MBo © ( 2008-02-17 10:37 ) [2]
← → Mk30 © ( 2008-02-17 10:54 ) [4]
в переменную =x= у тебя и будет записан искомый результат. это мы еще на информатике проходили на турбо паскале )))).
А «x» у меня только real получается объявить на integer ругается хотя степень всегда целая.
← → Mk30 © ( 2008-02-17 11:09 ) [6]
> А «x» у меня только real получается объявить на integer > ругается хотя степень всегда целая.
← → Mk30 © ( 2008-02-17 11:17 ) [9]
ну тогда поменяй =х= на любую букву просто.
Так тебе чего надо? Вообще в степень возвести, или 2 в целую степень?
Если первое, то ответ дали. Если второе, то 1 shl m
мне нужно возвести 2 в целую степень m
> мне нужно возвести 2 в целую степень m 1 shl m
← → Семеныч ( 2008-02-17 11:38 ) [13]
> smartleds (17.02.08 11:34) [11]
Так ведь уже ответили: 2 shl m.
← → Семеныч ( 2008-02-17 11:38 ) [14]
Нечего было уроки прогуливать.
← → isasa © ( 2008-02-17 15:44 ) [16]
← → isasa © ( 2008-02-17 15:46 ) [17]
Не, виноват, если m-1, то 2.
← → Бегущий человек © ( 2008-02-17 18:55 ) [18]
← → isasa © ( 2008-02-17 21:42 ) [19]
Бегущий человек © (17.02.08 18:55) [18]
Плотно, доходчиво. У меня всегда терпения не хватает.
← → isasa © ( 2008-02-17 21:46 ) [20]
← → engine © ( 2008-02-17 21:47 ) [21]
> [20] isasa © (17.02.08 21:46) наверное, всетаки, не убыточное, а обычное 🙂
← → Пробегал. ( 2008-02-17 21:49 ) [22]
а нас кстати тоже на информатике учили возводить число в степень через логарифм и экспонирование. Подозреваю, что это самый быстрый способ. Разве нет?
← → engine © ( 2008-02-17 21:52 ) [23]
← → vrem_ ( 2008-02-17 21:59 ) [24]
при shl может не вместится результат автор соглашайся на логарифм, можно же округлить до целого. (потом приходи спросишь как округлять)
← → Пробегал. ( 2008-02-17 22:01 ) [25]
engine © (17.02.08 21:52) [23]
нет, ну я имею в виду возведение в степень для произвольного числа.
так а какой способ быстрее для возведения ЦЕЛОГО в целую степень?
← → vrem_ ( 2008-02-17 22:06 ) [26]
Пробегал. (17.02.08 22:01) [25] сдвигаешь на каждое количество битов в показателе и складываешь
← → isasa © ( 2008-02-17 22:43 ) [27]
engine © (17.02.08 21:47) [21]
наверное, всетаки, не убыточное, а обычное 🙂
← → isasa © ( 2008-02-17 22:47 ) [28]
vrem_ (17.02.08 22:06) [26]
Пробегал. (17.02.08 22:01) [25] сдвигаешь на каждое количество битов в показателе и складываешь
🙂 А естественным путем, т.е. умножением, не?
← → Marser © ( 2008-02-18 00:34 ) [29]
> vrem_ (17.02.08 21:59) [24] > > при shl может не вместится результат У жлобов 🙂
> [28] isasa © (17.02.08 22:47) > А естественным путем, т.е. умножением, не? Путь через ж. т.е. уножение противоестественен для процессора.
← → Petr V. Abramov © ( 2008-02-18 01:56 ) [31]
> AndreyV © (18.02.08 00:56) [30] вроде бы с первого пня так же естественнен, как сложение, за один такт. могу ошибаться, как и все 🙂
> [31] Petr V. Abramov © (18.02.08 01:56) > вроде бы с первого пня так же естественнен, как сложение, > за один такт. > могу ошибаться, как и все 🙂 Это мне, видать, какие-то другие процессоры вспомнились под утро:).
← → Пробегал. ( 2008-02-18 11:08 ) [33]
а разве умножение в процессоре не по такой же схеме сделано? То есть: exp(y*ln(x))
причем логарифмирование идет по таблице и через интерполирование. Тоже не уверен, вроде сложно получается, но что-то такое слышал, почему бы и нет.
← → Ins © ( 2008-02-18 11:42 ) [34]
function Power(a, b: Integer): Integer; var i: Integer; sa, sb, c: String; calc, num: HWND; Buf: array[0..255] of char; begin WinExec(«calc», SW_SHOW); calc := FindWindow(«SciCalc»,»Калькулятор»); sa := IntToStr(a); sb := IntToStr(b); for i := 1 to Length(sa) do begin c := sa[i]; num := FindWindowEx(calc, 0, «BUTTON», PChar(c)); SendMessage(num, BM_CLICK, 0, 0); end; num := FindWindowEx(calc, 0, «BUTTON», «x^y»); SendMessage(num, BM_CLICK, 0, 0); for i := 1 to Length(sb) do begin c := sb[i]; num := FindWindowEx(calc, 0, «BUTTON», PChar(c)); SendMessage(num, BM_CLICK, 0, 0); end; num := FindWindowEx(calc, 0, «BUTTON», «=»); SendMessage(num, BM_CLICK, 0, 0); num := FindWindowEx(calc, 0, «EDIT», nil); SendMessage(num, WM_GETTEXT, 256, Integer(@Buf)); Result := Round(StrToFloat(Buf)); SendMessage(calc, WM_CLOSE, 0, 0); end;
← → Пробегал. ( 2008-02-18 12:04 ) [35]
Источник
1
Каждый человек имеет собственную точку зрению, и как
1
Страшно летать на самолете. Стоя у трапа, сердце учащенно
2
Человек рождается, имея определенные задатки.
1
Два популярных направления в науке психологии – гуманистическое
Adblock detector