jeko
Lounge-Member
Hi Leute!
Ja, ungewöhnlich, ne C++-Frage. Also alle die damit nix am Hut haben [wollen], müssen ab hier nimmer weiterlesen.
Den anderen wär ich dankbar wenn sie sich das mal kurz anschauen und mir vielleicht helfen könnten....
Hab folgenden Source... (Ausschnitt)
Nun ist 'total' bei einer laenge von '1' und einem len-Wert von '25' irgendwie bei 3.35544e+007 ???
Das heisst laut dem Prog ist pow(2,25) also 25*25 gleich 3.35544e+007. Das kann aber ned sein, oder?
Wisst ihr warum? Eigentlich sollte total ja bei laenge=1 und len=25 676 ergeben??? Ich versteh aber echt nicht warum und der Compiler meckert nicht mal Ansatzweise!
wär echt dankbar für nen Lösungsansatz, merci
jeko
Ja, ungewöhnlich, ne C++-Frage. Also alle die damit nix am Hut haben [wollen], müssen ab hier nimmer weiterlesen.
Den anderen wär ich dankbar wenn sie sich das mal kurz anschauen und mir vielleicht helfen könnten....
Hab folgenden Source... (Ausschnitt)
Code:
(..)
#include <math.h>
#include <string>
#include <stdlib.h>
(...)
string init_array(char *eingabe) {
string az_klein = "abcdefghiklmnopqrstuvwxyz"; // 26 + 1
string az_gross = "ABCDEFGHIKLMNOPQRSTUVWXYZ"; // 26 + 1
string az_numbers = "0123456789"; // 10 + 1
string temp = eingabe;
string pool = "";
if (temp.find("az",0) != string::npos) {
pool += az_klein;
}
if (temp.find("AZ",0) != string::npos) {
pool += az_gross;
}
if (temp.find("09",0) != string::npos) {
pool += az_numbers;
}
if (temp == "ascii" || temp == "ASCII") {
pool = "ASCII";
}
return pool;
}
string MD5decrypt(char *hash, char *laenge, char *zeichen) {
string ret = ""; // Aktueller Wert des generierten Strings IMPORANT
string npool = init_array(zeichen); // Pool mit Zeichenvorrat generieren IMPORTANT
string::size_type len = npool.length();
char* cs;
double zaehler, temp = 0,; // Hauptzaehler, Total Moeglichkeiten IMPORTANT
double total = pow(atol(laenge)+1,int(len));
cout << "Laenge: " << atoi(laenge);
cout << "\nZaehler initialisiert: " << total << " Moeglichkeiten " << sizeof(total) << "Bytes";
if (npool == "") {
return "\nFehler beim initialisieren des Zeichenvorrats: Ungueltige Bereichsangabe.\n";
}
(...)
Nun ist 'total' bei einer laenge von '1' und einem len-Wert von '25' irgendwie bei 3.35544e+007 ???
Das heisst laut dem Prog ist pow(2,25) also 25*25 gleich 3.35544e+007. Das kann aber ned sein, oder?
Wisst ihr warum? Eigentlich sollte total ja bei laenge=1 und len=25 676 ergeben??? Ich versteh aber echt nicht warum und der Compiler meckert nicht mal Ansatzweise!
wär echt dankbar für nen Lösungsansatz, merci
jeko