Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C] Conversione da esadecimale a caratteri

    Ciao gente...
    Io ho una word da 32 bit identificata da un valore esadecimale e devo prendere due cifre esadecimali alla volta per tradurle in carattere

    esempio:ho questa cifra esadecimale

    0x48656C6C

    devo prendere due cifre alla volta e tradurle in carattere per formare una parola:

    48 = H
    65 = e
    6C = l
    6C = l

    dovrei scrivere una funzione che mi faccia questo e che mi stampi la parola...
    avreste qualche dritta x aiutarmi? Qualsiasi consiglio č ben accetto...grazie


  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Con la AND e gli shift, accedi alle varie parti ...

    P.S. Forse un esempio ti e' piu' chiaro

    codice:
       int v = 0x48656C6C;
    
       int m, b;
       for(b=24, m=0xFF000000; b>=0; b-=8, m>>=8)
           printf("%c", (v & m)>>b);
    oppure con un puntatore a char

    codice:
       int v = 0x48656C6C;
    
       char *p = (char *)&v;
       for(int b=3; b>=0; b--)
            printf("%c ", *(p+b));

  3. #3
    grazie č perfetto...non si poteva fare di meglio...cosā farei senza di voi...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.