HEX-Zähler ?
-
peter1962 schrieb:
@ Decimad - Der Code sieht zwar deutlich übersichtlicher aus, aber
warning: integer constant is too large for ‘long’ typeGing mir ja auch nur um das visuelle
Vielleicht wäre es ja in diesem Fall sinnvoll, einfach nicht die konvertierung integer -> hex zu machen, sondern sich fix nen Hex-Inkrementer zu basteln, der auf String-Basis arbeitet?
-
@ inter2k3
for (unsigned long long zaehler = 0; zaehler < 68719476736ULL; zaehler++) { ... }
Das geht - vielen dank
-
#include <iostream> #include <string> void increment_hex( std::string& str, unsigned int digit = 0 ) { while( digit + 1 > str.size() ) str = '0' + str; char cdigit = str[str.size()-(digit+1)]; if( cdigit <= '9' ) cdigit -= '0'; else cdigit -= '7'; // '7'+10 = 'A' str[str.size()-(digit+1)] = "123456789ABCDEF0"[cdigit]; if( cdigit == 15 ) { increment_hex( str, digit + 1 ); } } int main(int argc, char* argv[]) { std::string hex = "0000"; do { std::cout << hex << '\n'; increment_hex( hex ); } while( hex.size() <= 4 ); return 0; }
Beliebig viele Stellen! Brauchst nur etwas Geduld
-
@ Decimad
Danke für den Code - muss jetzt nur noch rausbekommen wie der funktioniert.
Scheint aber deutlich schneller zu sein wie meiner.
-
Nach einer viertel Stunde ca. bin ich jetzt bei "15B0C0B3DA", das wird heute noch!
Update: "D6A2D661B6", ich komme dem Beweis, dass "FFFFFFFFFF" die größte 10stellige Hexadezimalzahl ist immer näher!
-
#include <iostream> using namespace std; int main() { int * p = 0; while ( p <= 0xFFFF ) cout << "0x" << p++ << endl; return 0; }
sollte doch auch gehen
pointer werden doch hexadezimal ausgegeben
und solange man sie nicht dereferenziert ist doch alles ok
-
Der Pointer sollte aber dann vom Typ char (sizeof(char)==1), sonst wird er um sizeof(int) inkrementiert (normalerweise 4).
-
Skym0sh:
Dein Code ist wie der auf Seite 1, nur dass du statt hex einen Pointer nimmst. Wo liegt der Vorteil?
-
Dingdingding, es ist bewiesen!!!
Jetzt wissen wir auch, wofür Mehrkern-CPU's gut sind!
-
Decimad schrieb:
Dingdingding
Zusammenfassung deiner Laune für die letzten Tage
-
Wenn man mit seinen Gedanken stecken bleibt, muss man ja irgendwie für Laune sorgen Ich hoffe, ich kann euch anstecken!
-
Irgendwie bin ich da grad blind - deine Funktion erwartet 2 Parameter und wird mit nur einem aufgerufen?
-
Beachte den default-Wert für den zweiten Parameter!
-
Ich sags ja, ich bin blind^^
ps. scheisse