Oamenii, care pot aminti cum să Delphi în gradul de a construi

de exemplu 2 „m“ în grade. cum se scrie?
Tutorial Handy nr.

dețin un exemplu
X în gradul de y =
x: = exp (y * ln (x))

Brothers. ceva de frână I, dar în cazul în care este logaritmul natural.
Am nevoie de 2 la puterea de „m“ pentru a construi. TE în loc de "x" I "2"
obține un fel de prostii
2: = exp (m * ln (2));
Și cum va arăta cu Math.Power

totul este simplu - # XA0, vei avea asa =

= variabila x = tu și rezultatul dorit va fi înregistrat.
ea # XA0, suntem încă pe computer a trecut la turbo Pascal)))).

Un „x“ am doar să declare real se transformă la un întreg jură deși gradul este întotdeauna un întreg.


> Un „x“ am doar să declare spirele reale la un întreg
> Juri deși gradul este întotdeauna un întreg.

) Ei bine = = x nu este un grad.) # XA0 și rezultatul. gradul = m = te # XA0, nu se confunda))

I = = x este utilizat în bucla pentru. compilatorul se plânge că nu este întreg.

și expresia x: = exp (m * ln (2)); Acesta funcționează. numai atunci când x = = a declarat ca reale.


> I = = x este utilizat în bucla pentru. compilatorul se plânge
> Nu este întreg.
> <Цитата>
>
>
> smartleds # XA0; (17.02.08 11:14) [8]
> Și expresie x: = exp (m * ln (2)); Acesta funcționează. numai atunci când
> = X = declarat ca fiind reale.

Ei bine, atunci Preschimbarea = x = orice literă, pur și simplu.

Deci, ce vrei?
În general, puterea de a construi sau 2 în întreaga măsură?

În cazul în care primul, apoi este dat răspunsul.
Dacă al doilea, SHL 1 m

Am nevoie pentru a construi un 2 m într-o putere întreagă


> Am nevoie pentru a construi un 2 m într-o putere întreagă

1 SHL m

> smartleds # XA0; (17.02.08 11:34) [11]

Deci, de fapt, a fost deja răspuns: 2 SHL m.

Nu a fost nimic pentru a sări peste lecții.

Nu este de vina, dacă m-1, apoi 2.

Aici botniță Autor: -D
mesteca:
Acesta a sugerat două metode
1) x = 1 shl m. # XA0; Când m = 1, x = 2, m = 2, atunci când x = 4, etc. deoarece 1 este deplasată spre stânga de m biți, ceea ce este echivalent cu gradul 2 erecție m
2) utilizează Math.
.
x = IntPower (2, m)

Ferm și clar. Intotdeauna mi-am răbdare, nu este de ajuns.

Cu toate acestea, pentru a construi o putere întreg întreg (multiplicare ubychnoe) prin intermediul mecanismului logaritm (exp (y * ln (x))) - distorsiune rece.

)
(Înmulțirea) - în cazul în care a făcut bani pierde nu știu este de vina.

și suntem, de asemenea, pe modul în care știința a fost învățat să construiască numărul la puterea logaritmului și expunerea. Bănuiesc că acest lucru este cel mai rapid mod. Nu-i așa?

Ei bine, nu, vreau să spun exponentiala la un număr arbitrar.

Cu toate acestea, [b] erecte unitate [/ b] în puterea întreagă (înmulțirea ubychnoe) prin mecanismul logaritmi (exp (y * ln (x))) - perversiune rece

asa ca o modalitate de a mai rapid pentru construirea întregului în toată întinderea?

Am fugit. # XA0; (17.02.08 22:01) [25]
mutat de către fiecare număr de biți în exponent și pliere

probabil, toate la fel, nu este o pierdere de luare a, și de obicei :)

Obținem float logaritmului (dublu), în mod oficial - pierderea de precizie. Și avem nevoie de ea?
Este mai ușor să mantuiala rapid funcții supraîncărcate și să uitați.

vrem_ # XA0; (17.02.08 22:06) [26]

Am fugit. # XA0; (17.02.08 22:01) [25]
mutat de către fiecare număr de biți în exponent și pliere

)
Un mod natural, adică multiplicare, nu?


> vrem_ # XA0; (17.02.08 21:59) [24]
>
> La SHL nu se poate ține rezultatul

În gorile :)

și nu a multiplica în același mod realizat într-un procesor? Aceasta este: exp (y * ln (x))

în care logaritmul este masa și prin interpolare. De asemenea, nu sunt sigur pare greu pentru a obține, dar se aude ceva, de ce nu.

Break departe de inima :))))))

Funcția de alimentare (a, b: Integer): Integer;
var
# XA0; i: Integer;
# XA0, sa, sb, c: String;
# XA0; calc, num: HWND;
# XA0; Buf: array [0..255] de char;
începe
# XA0; WinExec ( "calc", SW_SHOW);
# XA0; calc: = FindWindow ( "SciCalc", "Calculator");
# XA0; sa: = IntToStr (a);
# XA0; sb: = IntToStr (b);
# XA0; pentru i: = 1 la Lungime (sa) nu înceapă
# XA0; # XA0; c: = sa [i];
# XA0; # XA0; num: = FindWindowEx (calc, 0, "BUTTON", PChar (c));
# XA0; # XA0; SendMessage (num, BM_CLICK, 0, 0);
# XA0; end;
# XA0; num: = FindWindowEx (calc, 0, "BUTTON", "x ^ y");
# XA0; SendMessage (num, BM_CLICK, 0, 0);
# XA0; pentru i: = 1 Lungime (sb) nu înceapă
# XA0; # XA0; c: = sb [i];
# XA0; # XA0; num: = FindWindowEx (calc, 0, "BUTTON", PChar (c));
# XA0; # XA0; SendMessage (num, BM_CLICK, 0, 0);
# XA0; end;
# XA0; num: = FindWindowEx (calc, 0, "BUTTON", "=");
# XA0; SendMessage (num, BM_CLICK, 0, 0);
# XA0; num: = FindWindowEx (calc, 0, "EDIT" zero);
# XA0; SendMessage (num, WM_GETTEXT, 256, Integer (@Buf));
# XA0; Rezultat: = Round (StrToFloat (Buf));
# XA0; SendMessage (calc, WM_CLOSE, 0, 0);
se încheie;

Memorie: 0.78 MB
Timpul: 0.111 c

articole similare