Bonjour,
Comment convertir un caractere vers son code ascii et vice versa ?
Merci d'avance![]()
Bonjour,
Comment convertir un caractere vers son code ascii et vice versa ?
Merci d'avance![]()
Salut
La valeur ascii se trouve dans ta variable de type chartu peux y accéder via %c, %d, %x, etc.
Par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 unsigned char lettre; /* Désolé pour le getchar, moi et la saisie de caractère ça fait 2 */ lettre = getchar(); printf("Caractere : %c\nCode ASCII (decimal) : %d\nCode ASCII (hexa) : %x", lettre, lettre, lettre);
Je veux que le code ascii soit enregistrer vers un int .Envoyé par Freed0
Exp:
int nbr = codeAscii("A");
char chr = caract(65);
En c, il n'y a pas de difference entre les characteres et les entiers.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int valeurAscii = 'A';
en fait, si tu veux faire des calculs avec le code ascii, tu n'as a la limite meme pas besoin de le convertir ! ces expressions ont du sens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 char c='R'; c=c+2-'z';
Ici, des hypothèses sont faites sur les valeurs :
Sans oublier toutes les apparitions du nombre 65 dans le thread.Envoyé par jobherzt
Et je voulais surtout mettre l'accent sur le fait que ça ne marche pas forcément en ASCII étendu, principalement à cause des soucis de signe.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Je veux affecter le code ascii d'un caracter vers une variable de type entier et pas afficher son code ascii.Envoyé par atnnn
exp:
int nbr = codeAscii("A");
char chr = caract(65);
printf("Le code ascii de %c est %d", chr, nbr);
et non pas
printf("Le code ascii de %c est %d", chr, chr);
Bah oui mais justement c'est ça le truc en C. Le %c %d ne joue que sur la représentation à l'écran. Pas besoin d'une fonction spéciale pour manipuler les codes ASCII des caractères. Pour info, un char est codé sur 8 bits et un int sur 32 bits sur x86 je crois (processeur 32 bits). Mettre la valeur d'un char dans un entier ça ne sert strictement à rien puisque les deux sont manipulables de la même façon. La table ASCII tient juste sur 8 bits par contre.
Quand tu dis je veux ça mais pas ça ça, en fait ce sont deux constructions identiques
Ce n'est pas du tout difficile.
Un petit exemple qui donne la lettre en fonction du code ascii :
Et inversement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 char caractere=70; printf("Au code ascii %d correspond la lettre %c\n",caractere,caractere);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 char caractere='w'; printf("Au caractere %c correspond le code ASCII %d\n",caractere,caractere);
Partager