Linguaggi di programmazione memorizzare dati utilizzando una varietà di tipi di dati diversi. Un tipo di dati ampiamente utilizzati per la memorizzazione di numeri è int, che in genere utilizza sia un segmento di memoria di 4 byte o 8 byte. Un oggetto char è un altro tipo di dati ampiamente utilizzati che archivia valori in un segmento di memoria di 1 byte. Convertire un int in un valore char può essere un problema, perché non c'è abbastanza spazio per memorizzare tutti i byte da int in un char. Tuttavia, è possibile utilizzare più caratteri per memorizzare un singolo int.
Istruzioni
1
Avvia l'IDE e creare un nuovo progetto. Un file di codice sorgente vuoto viene aperto nell'area di lavoro principale.
2
Definire un tipo int che verrà convertire al char e assegnarle un valore. Ad esempio, scrivere qualcosa di simile:
unsigned int numberToConvert = 456734645;
3
Stampare il valore di questo numero in formato esadecimale. Si utilizzerà questo per verificare la vostra conversione più tardi. È possibile stampare questo scrivendo questa linea proprio sotto la riga precedente:
printf ("%x\n", numberToConvert);
4
Scopri quanti caratteri possono adattarsi all'interno di un tipo int sul tuo computer. Fare questo digitando quanto segue:
unsigned int numberOfChars = sizeof(int)/sizeof(char);
5
Definire i caratteri che conterrà il tuo int. Poiché un tipo int è tanto più grande di un char, sarà necessario definire una matrice char come questo:
destinazione di unsigned char [numberOfChars];
6
Creare una struttura di ciclo che verrà scorrere in ciclo l'int e aggiungere valori a char con ogni passaggio. Lo scheletro del per ciclo dovrebbe assomigliare a questo:
per (int i = 0; i < numberOfChars; i + +)
{
}
7
Assegnare i primi otto bit integer per il primo carattere nella matrice. Questo funzionerà solo se i byte sono 8 bit sul vostro sistema, che sono in genere. Questa assegnazione può essere scritto all'interno delle parentesi graffe del per ciclo come questo:
destinazione [i] = numberToConvert >> (8 * io);
8
Stampare i valori di ogni char in formato esadecimale e verificare che corrisponda al valore del vostro intero. Scrivere il seguente sotto la riga di codice precedente:
printf ("%x\n", destinazione [i]);
9
Compilare ed eseguire il programma (alcuni Idi fanno questo quando si preme il tasto "F5"). Vedrete che si sono convertiti con successo l'int in chars.