Nwlapcug.com


Come convertire da Int a Char

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.