Langages de programmation stockent les données en utilisant une variété de différents types de données . Un type de données largement utilisé pour stocker des nombres est l' int , qui utilise généralement soit un segment de mémoire de 4 octets ou 8 octets. Un char est un autre type de données largement utilisé qui stocke les valeurs dans un segment de mémoire de 1 octet . Conversion d'un int en char peut être un problème car il n'y a pas assez de place pour stocker tous les octets à partir d'un int dans un car. Cependant, vous pouvez utiliser plusieurs caractères pour stocker un seul int . Choses que vous devez
compilateur C , comme GCC
C environnement de développement intégré (IDE ), tels que Eclipse CDT
Afficher plus Instructions
1
Start up votre IDE et créer un nouveau projet. Un fichier de code source vierge s'ouvre dans la zone de l'espace de travail principal .
2
définir un type int que vous allez convertir plus d' un char, et lui attribuer une valeur . Par exemple, écrire quelque chose comme ceci:
unsigned int numberToConvert = 456734645 ;
3
impression sur la valeur de ce nombre en hexadécimal. Vous pourrez l'utiliser pour vérifier votre conversion plus tard. Vous pouvez imprimer ceci en écrivant cette ligne juste en dessous de la ligne précédente :
printf ("% x \\ n", numberToConvert ) ;
4
savoir combien de caractères peut s'adapter l'intérieur d'un type int sur votre ordinateur. Pour ce faire, entrez la commande suivante :
unsigned int numberOfChars = sizeof ( int) /sizeof (char) ;
5
Définir les caractères qui tiendra votre int . Depuis un int est d'autant plus grand qu'un char, vous devrez définir un tableau de caractères comme ceci:
destination unsigned char [ numberOfChars ] ;
6
Créer une structure de boucle pour qui passe en boucle sur le int et ajouter des valeurs à l' omble à chaque passage . Le squelette de la boucle devrait ressembler à ceci :
for (int i = 0; i < numberOfChars ; i + +) {
}
< br > 7
Affectez les huit premiers bits de l'entier du premier caractère dans le tableau. Cela ne fonctionnera que si les octets sont 8-bits sur votre système, dont ils sont habituellement . Cette affectation peut être écrit à l'intérieur des accolades de la boucle comme ceci:
destination [i] = numberToConvert >> ( 8 * i);
8
Imprimez les valeurs de chaque caractère en hexadécimal et vérifier qu'il correspond à la valeur de votre entier . Ecrivez ce qui suit en dessous de la ligne de code précédente :
printf ("% x \\ n", destination [i]) ;
9
compiler et exécuter le programme (certains IDEs faire quand vous frappez la touche " F5" ) . Vous verrez que vous avez réussi à convertir le int en caractères .