Maison > développement back-end > C++ > Comment puis-je convertir efficacement des chiffres uniques d'une chaîne en nombres entiers en C/C ?

Comment puis-je convertir efficacement des chiffres uniques d'une chaîne en nombres entiers en C/C ?

Susan Sarandon
Libérer: 2024-12-17 04:30:25
original
939 Les gens l'ont consulté

How Can I Efficiently Convert Single Digits from a String to Integers in C/C  ?

Conversion de caractères uniques en valeurs entières

En programmation, vous rencontrez souvent des situations où une chaîne de chiffres doit être convertie en nombres entiers individuels. Bien que l'accès à chaque caractère par index soit simple, la conversion de ces caractères en entiers peut sembler difficile.

La fonction populaire atoi() nécessite un argument de chaîne, ce qui conduit à l'idée de convertir chaque caractère en chaîne, puis d'utiliser atoi. (). Cependant, il existe une approche plus directe et efficace.

La clé est de reconnaître que les codages de caractères pour les chiffres sont séquentiels. En ASCII, UTF-x et la plupart des autres systèmes de codage, « 0 » a un codage de 48, tandis que « 9 » a un codage de 57.

En tirant parti de cela, vous pouvez extraire la valeur entière d'un chiffre. en soustrayant le caractère de '0' ou 48. Par exemple :

char c = '1';
int i = c - '0'; // i is now equal to 1, not '1'
Copier après la connexion

C'est équivalent à :

char c = '1';
int i = c - 48; // i is now equal to 1, not '1'
Copier après la connexion

Bien que les deux expressions produisent le même résultat, la première option (c - '0') est généralement considérée comme plus lisible.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal