Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - problem mit power bzw. "Hoch" rechnen und real/Integer


darkdester - Di 19.05.09 20:25
Titel: problem mit power bzw. "Hoch" rechnen und real/Integer
irgendwie komme ich heute nicht zu pote...

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
var
m,j,j2:real;

m:=65;
j:=power(m,65537);
j2:= j mod N;

jetzt bringt er mir bei der letzen zeile
"[Pascal Error] Unit1.pas(266): E2015 Operator not applicable to this operand type"

wenn ich aber integer benutze, kommt bei j:=
"[Pascal Error] Unit1.pas(265): E2010 Incompatible types: 'Integer' and 'Single'"


wieso, weshalb, warum? wer nicht fragt bleibt dumm...

wo ist sein problem?

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


jakobwenzel - Di 19.05.09 20:33

Entweder du nutzt IntPower statt Power oder du rundest an der entsprechenden Stelle.


darkdester - Di 19.05.09 20:38

ok..dann das nächste problem jetzt bei j2

[Pascal Error] Unit1.pas(268): E2015 Operator not applicable to this operand type

N ist integer, meckert er deswegen? falls ja, die var brauch ich global, wie kann ich die umwandeln oder anpassen das er da mod nutzen kann?


Xentar - Di 19.05.09 22:41

Wieso hast du die Variablen als real deklariert..? Bei Power kann doch keine Kommazahl rauskommen.


Horst_H - Di 19.05.09 22:46

Hallo,

wie jakobwenzel schon schrieb.
power für real-zahlen und mod für integer.
Aber 65^65537 ist doch eh' über alle Grenzen des Rechners.
Aber Dein Vorhaben ist ja nicht unbekannt:
http://www.delphi-forum.de/viewtopic.php?t=70967&highlight=mod+rsa
Mit BenBe's BigNum
http://www.delphi-forum.de/viewtopic.php?t=83119&highlight=mod+rsa

Gruß Horst