Newsgroup: it.comp.lang.delphi
Titolo: Radice Quadrata...

Devo fare la radice quadrata di un numero, o elevarlo a potenza.
Qualcuno sà quali sono le funzioni da chiamare?
--------------------------------
Inviato via 
http://usenet.libero.it

 Qualcuno sà quali sono le funzioni da chiamare?
cerca nell'help SQR e SQRT
Ciao
Matteo

cerca:
Arithmetic routines
nella guida
bye
A.

 Devo fare la radice quadrata di un numero, o elevarlo a potenza.
preso dalla guida di delphi
var
  S, Temp: string;
begin
   Str(Sqr(5.0):3:1, Temp);
   S := '5 squared is ' + Temp + #13#10;
   Str(Sqrt(9.0):5:4, Temp);
   S := S + 'The square root of 9 is ' + Temp;
   MessageDlg(S, mtInformation, [mbOk], 0);
end;
ciao
roberto


    Via De Gasperi, 14 - 42019
    Scandiano (Reggio Emilia)

 fai uso della funzione.
P.S.: per semplici quadrati (e radici quadrate) di valori interi,
potresti semplicemente agire spostando i bit tramite gli operatori <shl>
e <shr>...dovrebbe essere un'operazione piů veloce, in termini di
utilizzo della CPU, rispetto all'uso della funzione Power() che č
internamente piů complessa.



Ma per l'elevezione a potenza va bene la funzione POWER(...) ??


 internamente più complessa.
Non riesco a capire come, mi puoi spiegare meglio?
Farmi un esempio...

 internamente piů complessa.
okkio che lo shift dei bit significa moltipricare o dividere un intero per
2/4/8/16..., non la radice quadrata/elevamento a potenza
Ciao
Matteo

 Ma per l'elevezione a potenza va bene la funzione POWER(...) ??
ho visto che si è aperto un altro nodo sulla questione, quindi segui li (lo
faro' anch'io) le risposte, io non sono molto esperto di delphi, ma mi sono
limitato a dare il mio contributo (nel mio piccolo) F1.
ciao
roberto

 intero per 2/4/8/16..., non la radice quadrata/elevamento a potenza
Sě, hai perfettamente ragione. :-)
Il problema č che mi č sempre capitato di fare uso di quel meccanismo
avendo come base il numero 2 e questo mi ha portato fuori strada.



Lascia perdere...mi sono confuso con un altra "casistica", come ha fatto
notare Matteo nel suo messaggio.


2/4/8/16..., non la radice quadrata/elevamento a potenza
Se non ricordo male in binario e' sufficente aggiungere a destra tanti zeri
quanti l'esponente, cioč:
(num binario) ^ EXP = (num binario) seguito da tanti zeri quanto EXP
(1001) ^ 5 = 100100000
o sbaglio?
-- 
Morde. 
morde[at]programmer[.]net

 ha scritto nel messaggio
news:98enbvcp8qt1aesjq...@4ax.com...

Temo di sě ;))
Ciao
Matteo

Temo di sě ;))
Hei proprio ragione! 
Ricordo male... anzi proprio non ricordo !


On Fri, 09 May 2003 13:09:22 GMT, 
rleb...@enginfo.it
 (Rino Le Boffe)
wrote:

..oppure all'antica
c:= a elevato b
c:=exp(ln(a)*b);
dove a,b numeri reali.
se b=1/2, 1/3, .... equivale a radice quadra, radice cubica etc...
ciao

 c:=exp(ln(a)*b);
Caso mai ci metti pure un atangente e un'arcotangente con una trasformata
bilatera di Laplace da antitrasformare con Fourier
Ma se c'è una cosa fatta apposta perché non usarla?!?
--
_________________________________________
Edmondo Di Tucci 
snar...@tin.it
guarda i miei lavori su: 
www.powernetsi.it/edmondo

 Ma se c'è una cosa fatta apposta perché non usarla?!?
Per esempio perchè la Power non c'è in tutte le distribuzioni di Delphi (in
particolare in quelle che non includono la unit Math mentre Exp è definita
nella unit System)...
Piccola nota acida: la cosa più stupida che si possa fare è criticare
qualcuno perchè offre soluzioni alternative...
Ciao
--
Andrea /\/\agni
ICQ#: 174108000

 notare Matteo nel suo messaggio.
Ok, io pensavo che intendessi operare sui logaritmi... pero' mi sembrava
strano che parlassi di numeri interi.