Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Operator ist auf diesen Operandentyp nicht anwendbar (https://www.delphipraxis.net/50555-operator-ist-auf-diesen-operandentyp-nicht-anwendbar.html)

Hallo_Thomas 27. Jul 2005 15:27


Operator ist auf diesen Operandentyp nicht anwendbar
 
Hallo, ich hab folgende Formel eingegeben, aber irgendwie will es nich so, wie ich will!?!

Fehlermeldung:Operator ist auf diesen Operandentyp nicht anwendbar an den stellen mit dem :?:



Form1.Label157.Caption:=IntToStr(1/SQRT(5)*(((1+SQRT(5))/2)shl (x)- :?: ((1-SQRT(5))/2)shl (x)) :?: ;

So und hier noch mah ohne :?:
Delphi-Quellcode:
Form1.Label157.Caption:=IntToStr(1/SQRT(5)*(((1+SQRT(5))/2)shl (x)- ((1-SQRT(5))/2)shl (x)) ;

Sharky 27. Jul 2005 15:38

Re: Operator ist auf diesen Operandentyp nicht anwendbar
 
Hai Thomas,

wenn ich das richtig sehe (uff sind das vile klammern)
versuchst Du ein SHL anzuwenden obwohl Du (durch das SQRT) ja keinen INTEGER hast.

Hallo_Thomas 27. Jul 2005 15:51

Re: Operator ist auf diesen Operandentyp nicht anwendbar
 
Zum Schluss kommt aber nenn INTEGER Wert raus, auf alle Fälle,
da muss ich SQRT oder SHL ersetzen, was wär denn da das günstigste,
ich vermut mal SHL? Wie stell ich das aam besten an

barf00s 27. Jul 2005 15:55

Re: Operator ist auf diesen Operandentyp nicht anwendbar
 
das sqrt zu ersetzen würde ich für ratsamer halten - sqrt = ARSCHLAHM
shl = wutzt wie schmitts katze

Kedariodakon 27. Jul 2005 15:57

Re: Operator ist auf diesen Operandentyp nicht anwendbar
 
Zitat:

Zitat von Hallo_Thomas
Zum Schluss kommt aber nenn INTEGER Wert raus, auf alle Fälle,
da muss ich SQRT oder SHL ersetzen, was wär denn da das günstigste,
ich vermut mal SHL? Wie stell ich das aam besten an

Nein...
Delphi-Quellcode:
1/SQRT(5) * (  ((1+SQRT(5))/2) shl(x) - ((1-SQRT(5))/2) shl(x) )
Da
Delphi-Quellcode:
1/SQRT(5)
ja schon kein Int ist, wie soll den da ein int rauskommen???

1/xyz maxht schonmal eine Fließkommazahl und die mit irgendwas * macht wieder ne Fließkommazahl und deshalb kannst aus dem ganzen kein Integer bekommen, deshalb ist schonmal IntToStr falsch...

Bye

Hallo_Thomas 27. Jul 2005 16:01

Re: Operator ist auf diesen Operandentyp nicht anwendbar
 
Jujuh, habs gefunden



Delphi-Quellcode:
function fibonacci(Index : Integer) : Int64;
begin
  result := round((1/sqrt(5))*(power((1+sqrt(5))/2, index-1)-power((1-sqrt(5))/2,index-1)));
end;

Webseiten-Titel

barf00s 27. Jul 2005 16:06

Re: Operator ist auf diesen Operandentyp nicht anwendbar
 
wenn du jetz noch "1 / sqrt(5)" in eine temp variable paxt kannst dann die tempvariable verwenden anstatt 4x? immer wieder eins durch wurzel fünf berechnen zu lassen

Kedariodakon 27. Jul 2005 16:33

Re: Operator ist auf diesen Operandentyp nicht anwendbar
 
Zitat:

Zitat von barf00s
wenn du jetz noch "1 / sqrt(5)" in eine temp variable paxt kannst dann die tempvariable verwenden anstatt 4x? immer wieder eins durch wurzel fünf berechnen zu lassen

Wird sowas nicht wegoptimiert? (reinintressehalber)

Bye

dahead 27. Jul 2005 17:56

Re: Operator ist auf diesen Operandentyp nicht anwendbar
 
doch, ihm geht es aber um die code-verständlichkeit/übersicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz