Autor Beitrag
mlhk
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: Mo 07.09.09 15:53 
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 user profile iconNarses: Topic aus VCL (Visual Component Library) verschoben am Mo 07.09.2009 um 17:48
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 07.09.09 16:53 
Moin!

ausblenden Delphi-Quelltext
1:
ShowMessage(IntToStr($7FFFFFFFFFFFFFFF));					

ausblenden Quelltext
1:
9223372036854775807					
naja, genau genommen muss man da noch 1 draufzählen... MaxInt64 ist ja "nur" 2^63-1
cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
mlhk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: Mo 07.09.09 20:09 
Allerherzlichen Dank,
funktioniert wunderbar, kannst du mir noch was zu $7FFFFFFFFFFFFFFF sagen
Gruß mlhk
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mo 07.09.09 20:16 
user profile iconmlhk hat folgendes geschrieben Zum zitierten Posting springen:
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 Suche in der Entwickler-Ecke BIGNUM an :les:
mlhk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Mo 07.09.09 20:43 
user profile iconmlhk hat folgendes geschrieben Zum zitierten Posting springen:
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.

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
mlhk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mo 07.09.09 21:34 
user profile iconmlhk hat folgendes geschrieben Zum zitierten Posting springen:
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 von user profile iconBenBE. 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