Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Berechnung von BigInteger (https://www.delphipraxis.net/114330-berechnung-von-biginteger.html)

Avax2k 23. Mai 2008 13:43


Berechnung von BigInteger
 
ich habe folgenden Verlauf:
string s = "Didadud"; --> convert in byte[] und Übergabe an BigInt Funktion

mit folgendem Resultat:

[0] = 1633973604
[1] = 100
[3] = 0
[4] = 0

bint = {431130703204}

AllBits = 4294967295
DataSizeBits = 32
DataSizeOf = 4
HiBitSet = 2147483648

wie komme ich nun von diesen beiden Zahlen im uint[] auf das Ergebnis von bint?
zusätzlich werden auch noch die anderen parameter gerechnet aber ich weiss nicht wie diese in die Berechnung mit einbezogen werden. Wäre sehr dankbar, wenn sich jemand finden ließe, der einer ausführlicheren Erklärung nicht abwegig ist.

Danke

Olli73 23. Mai 2008 14:42

Re: Berechnung von BigInteger
 
allgemein:

[3]*((2^32)^3) + [2]*((2^32)^2) + [1]*((2^32)^1) + [0]*((2^32)^0)

bzw.:

[3]*(2^96) + [2]*(2^64) + [1]*(2^32) + [0]*(2^0)

also im Bsp.:

100*(2^32) + 1633973604 * 1

Du musst also einfach mit der Basis 2^32 = 4294967296 rechnen.

Avax2k 23. Mai 2008 16:40

Re: Berechnung von BigInteger
 
super, danke für die Aufklärung. Wie verhält es sich, wenn viele Einträge in dem uint[] drin sind.. z.B. 32 oder 64 da wäre der letzte Wert mit 2^1024 bzw. 2^2048 zu rechnen. Wie teilt man dies nun in kleine Happen, sodass man nicht bis 2^ unendlich kommt sondern immer noch rechnen und die Zahl anzeigen kann ?

Avax2k 24. Mai 2008 11:59

Re: Berechnung von BigInteger
 
erledigt :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:02 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