Effettuare il casting in esadecimale e ottale

di il
5 risposte

Effettuare il casting in esadecimale e ottale

Raga il mio prof ha dato davvero un esercizio facile facile ovvero effetturare su una variabile tutti i tipi di casting e stamparne il risultato... il problema non si pone assolutamente tranne che non ricordo come si dichiara la variabile in ottale e esadecimale... per il momento ho fatto solo questo:


float a=54,69;
printf("reale :%f\n decimale : %d\n carattere : %c \n",a,(int)a,(char)a);
lo ammetto è molto disordinata questa printf ma il prof ha detto che dovevamo fare solo una prinf quindi sono stato obbligato...

p.s. se sapete altri tipi potete scriverli? grazie

5 Risposte

  • Re: Effettuare il casting in esadecimale e ottale

    Per ottale ed esadecimale devi effettuare il cast ad unsigned int e usare %o per l'ottale e %x o %X per l'esadecimale nella printf ( %x fa le lettere minuscole, %X maiuscole )
  • Re: Effettuare il casting in esadecimale e ottale

    Quindi dovrei fare così correggimi se sbaglio printf("%o"(unsigned int)a); per ottale giusto? p.s. non sò come cos'è successo non volevo far comparire 3 volte lo stesso post devo aver combinato qualche casino quando facevo avanti e indietro tra le pagine ...chiedo scusa
  • Re: Effettuare il casting in esadecimale e ottale

    Ti sei dimenticato la virgola tra la stringa e la variabile, comunque si
  • Re: Effettuare il casting in esadecimale e ottale

    Grazie però ho comunque riscontrato un problema se inserisco non so 9 in ottale e in esadecimale li traduce con 11 ma non è corretto vi posto il codice sicuro c'è qualche errore davvero banale visto che è solo una semplice stampa...
    
    
    #include <stdio.h>
    
    int main(int argc, const char * argv[])
    { float num;
        printf("iserisci un numero con la virgola");
        scanf("%f",&num);
        printf("intero %d\nfloat:%f\nottale: %o\nesadecimale: %o\nlong int: %d\n",(int)num,num,(unsigned int)num,(unsigned int)num,(unsigned int)num);
        
        return 0;
    }
    
    perdonate il fatto che con una sola printf stampo tutto ma il prof così l'ha chiesta ...
  • Re: Effettuare il casting in esadecimale e ottale

    
    .. ottale: %o\nesadecimale: %o ..
    
    Usi da entrambe le parti la notazione ottale
Devi accedere o registrarti per scrivere nel forum
5 risposte