text in hexzahl umwandeln....



  • HAllo,

    ich habe folgendes Problem. Ich möchte eine Hexadezimalzahl einlesen (Der user soll die eingeben) z.b. "aa". Diese soll als hexzahl erkannt werden und mit einem weiteren festen Hex-Wert addiert werden.

    printf("Eingabe zahl:"); User gibt z.B. aa ein
    scanf("%s", &input);

    ergebnis= 0x00ff + input * 0x10000;

    Bin für jeden Tip dankbar.

    Gruß
    Volker



  • Sicherstellen, ob die Eingabe mit 0x beginnt oder ggf. vor die Eingabe 0x setzen und anschließend den Wert mit strtol umwandeln.



  • Hallo,

    ich habs jetzt mache es so:

    int eing;
    scanf("%x", &eing); // Gib einen Hex-Wert ein, der in 'eing' gespeichert wird

    // Die Unteren Bits sind immer 'ffffff'. Die eingegebene Zahl soll um 24 bit
    // (also 6 bytes) nach links verschoben, und mit dem 'ffffff' kombiniert werden
    bit = 0x00ffffff | (eing << 24);

    Wenn man da z.B. 'aa' eingibt, sollte in 'bit' am ende
    0xaaffffff;


Anmelden zum Antworten