Char Array gefüllt mit einer Hex Zahl, brauch es aber als Integer..



  • Hi,

    es geht um eine Umrechnung von Dez -> Hex. Dabei hab ich das Problem
    das ich via sprintf eine Dezimalzahl vom Typ Integer in einem Chararray ablege. Nun muss ich allerdings die Weiterverarbeitung mit einem Integer vornehmen.
    Gibts ne Möglichkeit die Zeichenkette in einen Integer umzuwandeln oder vielleicht das wechseln zwischen den Datentypen komplett zu umgehen?



  • Wenn du sowieso den Ursprungswert als int hast, warum benutzt du ihn nicht einfach wieder? Ist doch egal, wieviele Strings du in der Zwischenzeit daraus erzeugt hast. Oder habe ich dich irgendwie falsch verstanden?

    Falls du es doch brauchst, sollte strtol dir wahrscheinlich helfen.



  • Es erfolgt ja eine Umrechnung von Dezimal zu Hex nur wechselt dabei dummerweise der Datentyp da ich sprintf nutze. Ich brauch den in Hex umgerechneten Dezimalwert, abgelegt in einem Integer.
    int dezimal -> int hex

    so das das Ergebnis quasi die gleiche Struktuktur hat wie beispielsweise

    int b = 0x00



  • stechbeitel schrieb:

    int dezimal -> int hex

    Das gibt es nicht.

    int dez = int hex

    Was du willst, ist unsinnig, weil es rein um die eigene Interpretation geht. Ein numerischer Wert ist ein numerischer Wert, ganz gleich wie du ihn gerade liest.

    //es gibt zwischen diesen drei Varianten keinen Unterschied:
    
    int i=5;
    int h=0x05;
    
    //bei Compilern, die dies unterstützen (z.B. avr-gcc), geht auch:
    int b=00000101b;
    

    Vielleicht solltest du mal den Code posten, von dem du gedacht hast, dass eine solche Umwandlung nötig ist.



  • ach herrje, ka was da in meinen Hirnwindungen vorging. Wie du schon sagtest.. total unsinnig.

    Close und schönen Tag noch 🙄



  • stechbeitel schrieb:

    ach herrje, ka was da in meinen Hirnwindungen vorging. Wie du schon sagtest.. total unsinnig.

    Close und schönen Tag noch 🙄

    Kommt vor. 🙂

    Du bist auch nicht der erste, der in diese Richtung denkt...


Anmelden zum Antworten