Maison >développement back-end >C++ >Comment les caractères sont-ils représentés numériquement en C ?

Comment les caractères sont-ils représentés numériquement en C ?

DDD
DDDoriginal
2024-12-13 01:23:10944parcourir

How Are Characters Represented Numerically in C?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn