Integer werte aneinander Reihen :)



  • Hi, wie kann ich mehrer integer werte zu einem grossen aneinander reihen.

    zb. 54 30 54 60

    ergenen dann 54305460 als Integer.

    Gruss Builder



  • hoi

    erst die werte in strings verwandeln, die strings aneinander haengen und dann in einen int zurueck wandeln.
    aber aufgepasst, das die stringzahl nicht zu gross wird, sonst gibts probleme.

    oder sonst multiplizieren und addieren:
    54 * 1000000 + 30 * 10000 + 54 * 100 + 60

    Meep Meep



  • So oder so ähnlich ...

    #include <iostream>
    #include <sstream>
    
    int main()
    {
        using namespace std;
        int arr[] = {54, 30, 54, 60};
        stringstream buf;
        for( int* i = arr; i != arr + sizeof(arr)/sizeof(*arr); ++i )
            buf << *i;
        int bigInt;
        if( buf >> bigInt )
            cout << "Big int = " << bigInt << endl;
        return 0;
    }
    

    Gruß
    Werner



  • Tuxxxi schrieb:

    Hi, wie kann ich mehrer integer werte zu einem grossen aneinander reihen.

    zb. 54 30 54 60

    ergenen dann 54305460 als Integer.

    Gruss Builder

    😮
    Also sorry, aber da kommst Du wirklich nicht selbst drauf ?

    Wie macht man denn aus einer 1 eine 10 ?
    => 1*10

    Wie macht man aus einer 12 eine 1200 ?
    => 12 * 100

    Wie macht man aus 12 und 34 eine 1234 ?
    => 12*100 + 34

    Wie macht man aus 12 und 34 und 56 eine 123456 ?
    => 12*100^2 + 34*100^1 + 56*100^0
    => 12*100*100 + 34*100 + 56*1

    ....

    Da braucht man keine Programmiersprache und erst Recht keine stringstreams zu und eine "maximalgrößenprüfung" ist dabei auch kein Problem (N 2stellige ints werden mit höchstens 100^N multipliziert) ....

    Gruß,

    Simon2.



  • Hi, Danke werd es sobald ich kann mal ausprobieren 🙂

    Kann mir jemand mal Source von Werner Salomon Erklären, da ich noch nicht so fit in zeigern bin und umedingt die Zeiger Kapieren will nimmt es mich schon wunder was die vielen Pointer Sollen 🙂

    Gruss Builder



  • Wer sagt euch allen eigentlich dass eine Integerzahl eine Dezimalzahl ist.
    Ne Hexadimalzahl passt zum Integer viel besser - jedes Byte eine Zahl - in "big endian"!



  • anonymusHEX schrieb:

    Wer sagt euch allen eigentlich dass eine Integerzahl eine Dezimalzahl ist....

    Wer sagt Dir denn, daß wir hier von Dezimalzahlen ausgehen ?

    Gruß,

    Simon2.


Anmelden zum Antworten