Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Potenz ganz ausgeben
mlhk - Mo 07.09.09 15:53
Titel: Potenz ganz ausgeben
hey,
Ich möchte die Potenz von 2^63 berechnen, das geschieht auch ohne weiteres, nur kommt da 9,22337E+18 raus , ich möchte allerdings das da eine Zahl ohne Potenz rauskommt.
Gruß
mlhk
Moderiert von
Narses: Topic aus VCL (Visual Component Library) verschoben am Mo 07.09.2009 um 17:48
Narses - Mo 07.09.09 16:53
Moin!
Delphi-Quelltext
1:
| ShowMessage(IntToStr($7FFFFFFFFFFFFFFF)); |
naja, genau genommen muss man da noch 1 draufzählen... MaxInt64 ist ja "nur" 2^63-1
cu
Narses
mlhk - Mo 07.09.09 20:09
Allerherzlichen Dank,
funktioniert wunderbar, kannst du mir noch was zu $7FFFFFFFFFFFFFFF sagen
Gruß mlhk
Yogu - Mo 07.09.09 20:16
mlhk hat folgendes geschrieben : |
| kannst du mir noch was zu $7FFFFFFFFFFFFFFF |
Das Dollarzeichen (
$) leitet eine Hexadezimale Zahl ein. Du kannst sie natürlich auch dezimal schreiben. Und 9223372036854775807 ist eben 2^63-1. Ganz einfach. 2^63 kannst du in Delphi nicht als normale Zahl darstellen, sie ist (um 1) zu groß ;)
Wenn du damit weiterrechnen möchtest, sieh dir mal
BIGNUM an :les:
mlhk - Mo 07.09.09 20:36
Heißt das also, dass ich ganz normal rechnen kann also 9,22337E+18 und das dann einfach in Heaxdaziaml umrechnen muss und schon hab ich was ich will?
Yogu - Mo 07.09.09 20:38
Was willst du denn eigentlich machen? Dem Benutzer einfach das Ergebnis von 2^63 anzeigen, und das war's dann? Oder soll das Ergebnis irgendwo gespeichert werden? Willst du damit weiter rechnen? Oder ist gar die 2 oder die 64 variabel, z.B. vom Benutzer einzegeben?
jakobwenzel - Mo 07.09.09 20:43
mlhk hat folgendes geschrieben : |
| 9,22337E+18 |
Das Problem bei der Zahl ist, dass das eine Fließkommazahl ist, und deshalb nicht notwendigerweise alle Stellen in der Genauigkeit liegen.
mlhk - Mo 07.09.09 20:53
genau ich wollte 2 und 64 als Variablen stellen, das mit der Ungenauigkeit hatte ich mir schon gedacht, werd mal sehen was ich da noch machen werde, erstmal danke
Gruß mlhk
Yogu - Mo 07.09.09 21:34
mlhk hat folgendes geschrieben : |
| genau ich wollte 2 und 64 als Variablen stellen |
Das heißt, du bastelst eine Art "Taschenrechner", der potenzieren kann. Verstehe ich das jetzt richtig? Dann verwende doch
BigNum2 [
http://www.delphi-forum.de/topic_BigNum2+v02120080517_83402.html] von
BenBE. Dort gibt's eine Methode
BM_Power, die allem Anschein nach potenzieren kann. Und BigNum hat den Vorteil, dass überall nur Ganzzahlen verwendet werden, die ganz schön groß werden dürfen. Also auch nix mit wissenschaftlicher Darstellung der Zahlen (9,22337E+18 ). :D
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!