Linguaggi di programmazione memorizzare i dati utilizzando una varietà di diversi tipi di dati . Un tipo di dati ampiamente utilizzato per la memorizzazione di numeri è l'int , che utilizza in genere sia un segmento di memoria di 4 byte o 8 byte . Un char è un altro tipo di dati ampiamente utilizzato che archivia valori in un segmento di memoria di 1 byte . Conversione di un int ad un char può essere un problema , perché non c'è spazio sufficiente per memorizzare tutti i byte da un int in un char . Tuttavia, è possibile utilizzare più caratteri per memorizzare un singolo int . Cose che ti serviranno
C Compiler , come GCC
C ambiente di sviluppo integrato ( IDE ) , come ad esempio Eclipse CDT
Show More Istruzioni
1
Start up il vostro IDE e di creare un nuovo progetto . Un file di codice sorgente di vuoto si aprirà nella principale area di lavoro .
2
Definire un tipo int che si convertire più di un char , e assegnarle un valore . Ad esempio , scrivere qualcosa del genere :
unsigned int numberToConvert = 456734645 ;
3
Stampa il valore di questo numero in formato esadecimale . Si utilizzerà questo per verificare la vostra conversione più tardi. È possibile stampare questo fuori scrivendo questa riga a destra sotto la riga precedente :
printf ( " % x \\ n" , numberToConvert ) ;
4
scoprire quanti caratteri può andare bene all'interno di un tipo int sul computer. Farlo digitando il seguente :
unsigned int numeroDiCaratteri = sizeof (int ) /sizeof ( char) ;
5
Definire i caratteri che conterrà il vostro int . Dal momento che un int è molto più grande di un char , è necessario definire un array di caratteri come questa:
unsigned char destinazione [ numeroDiCaratteri ] ;
6
Creare una struttura per il ciclo in loop attraverso l' int e aggiungere valori alla char ad ogni passaggio . Lo scheletro del ciclo for dovrebbe essere simile a questo :
for (int i = 0; i < numeroDiCaratteri ; i + + ) per
{
}
< br > 7
Assegna i primi otto bit del numero intero per il primo carattere dell'array . Questo funziona solo se byte sono 8 bit sul sistema , che di solito sono . Questa assegnazione può essere scritto dentro le parentesi graffe del ciclo for in questo modo:
destinazione [ i] = numberToConvert >> ( 8 * i);
8
Stampa out i valori di ogni carattere in esadecimale e verificare che corrisponda al valore del numero intero . Scrivere il seguente sotto la linea di codice precedente :
printf ( " % x \\ n" , destinazione [ i] ) ;
9
compilare ed eseguire il programma (alcuni IDE fare questo quando si preme il tasto " F5 " ) . Vedrete che hai convertito con successo l' int in caratteri .