Comprendre la représentation numérique des caractères en C
En programmation C, les caractères sont représentés en interne sous forme de valeurs numériques. Le tableau ASCII (American Standard Code for Information Interchange) attribue à chaque caractère un code numérique spécifique. '0' correspond à la valeur ASCII 48, tandis que '1' a la valeur 49, et ainsi de suite.
La table ASCII et les codes de caractères
La table ASCII organise ces codes de caractères sous forme de tableau, avec des valeurs numériques allant de 0 à 127 représentant divers caractères, symboles et contrôles codes.
ASCII Value | Character | |
---|---|---|
48 | '0' | |
49 | '1' | |
57 | '9' |
Conversion des codes de caractères en nombres
L'extrait de code fourni illustre comment la soustraction de « 0 » du code ASCII d'un caractère donne la valeur numérique qu'il représente :
char c = '9'; int x = (int)(c - '0');
Dans ce cas, « 9 » a un code ASCII de 57. La soustraction de « 0 », qui a un code de 48, donne 9 :
('9' - '0') = (57 - 48) = 9
Explication
Cela fonctionne car les codes ASCII pour les caractères numériques ('0' à « 9 ») sont consécutifs, « 0 » ayant le code le plus bas. La soustraction de « 0 » extrait donc efficacement la valeur numérique du code ASCII.
Par exemple, si « c » était « 4 », l'équivalent ASCII de 52, la soustraction donnerait :
('4' - '0') = (52 - 48) = 4
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!