eindeutige Zahl anhand von parametern



  • Hallo!

    Gibt es eine Funktion, die es mir erlaubt eine eindeutige Zahl generieren zu
    lassen, die zunächst einen oder zwei Parameter erwartet und dann die neue Zahl erstellt?

    Bsp.:

    ich bekomme eine IP- und dessen Portnummer.
    217.12.45.3, 3124.

    dann eine funktion:

    int GenerateNumber(ip, port);

    und daraufhin wird als rückgabewert eine eindeutige Zahl erzeugt.
    Diese soll auch nicht einfach aus dem produkt der beiden nummern bestehen.

    Sollte es ganz einfach sein, so entschuldige ich mich 🙂
    Fange grad erst an mit c++

    mfg andreas



  • das geht natürlich nicht.



  • ja.
    aus
    217.12.45.3, 3124
    kannste gut
    21701204500303124
    machen.
    aber dazu muß dein int 17-stellige zahlen fassen.
    kann dein int nur 32 bit, dann kann s nicht gehen, da ip und port zusammen 48 bit haben. wenn du alle 48-bittigen zahlen mit deiner zauber-funktion auf 32-bittige abbildest, müssen einige verschiedene parameter aufs selbe ergebnis abgebildet worden sein.



  • Die vier zahlen der IP lassen sich wunderbar zu einem einzigen 32Bit int zusammen fassen. Bleibt noch der Port. Das heißt du musst auf etwas größeres wechseln. Vielleicht untrstützt dein Compiler long long, also vermutlich eine 64-Bit Zahl. Mit der ließe sich alles abbilden.



  • vielen Dank für die Antworten.

    Das habe ich gar nicht bedacht, das die Zahlen gar nicht in ein Int passen.
    Dann muss ich mir wohl etwas anderes überlegen.

    mfg andreas


Anmelden zum Antworten