Décoder les valeurs de caractères : pourquoi la soustraction de « 0 » divulgue la représentation numérique
Une question déroutante se pose : pourquoi la soustraction de « 0 » à un Le caractère en C révèle-t-il la valeur numérique qu'il représente ?
Pour résoudre cette énigme, plongeons dans le domaine de l'ASCII (American Standard Code for Information Interchange), qui attribue des codes numériques à chaque caractère. « 0 » occupe la première position dans cette séquence numérique, les caractères suivants étant progressivement attribués à des valeurs plus élevées.
Par exemple, « 9 » représente la valeur numérique 57, tandis que « 0 » correspond à 48. En soustrayant « 0 » ' à partir d'un caractère, nous calculons essentiellement la différence entre son code ASCII et le code ASCII de '0'.
Prenons l'exemple : char c = « 9 » ; int x = (int)(c - '0');
Ici, '9' a un code ASCII de 57. La soustraction de '0' (qui a un code ASCII de 48) donne 57 - 48 = 9, ce qui est précisément la valeur numérique représentée par « 9 ».
Le tableau ASCII suivant illustre davantage cela concept :
Caractère | ASCII Code |
---|---|
'0' | 48 |
'1' | 49 |
'9' | 57 |
Par en soustrayant « 0 » de n'importe quel caractère, nous pouvons décoder efficacement la valeur numérique qu'il représente, une technique couramment utilisée dans diverses applications de programmation.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3