Avatar ·

Comment convertir char en int en C et C++ ? Comprendre les chiffres et les symboles

Bonjour à tous ! Je viens de commencer à apprendre le C++ et je suis confronté à une situation que je ne comprends pas. Je dois lire un caractère depuis l'entrée standard et le convertir en un nombre entier pour effectuer des opérations arithmétiques avec. Voici mon code en C++ :\n\n```cpp\n#include \nusing namespace std;\n\nint main() {\n char c;\n cout << "Entrez un chiffre : ";\n cin >> c;\n int num = (int)c; // J'essaie de convertir char en int\n cout << "Le nombre saisi multiplié par 2 : " << num * 2 << endl;\n return 0;\n}\n```\n\nSi je saisis `5`, je m'attends à obtenir `10` en sortie, mais le programme affiche `106` ! Pourquoi cela ? J'ai lu que `char` est un type entier et qu'on peut le caster en `int`. Mais apparemment, je fais quelque chose de travers. Dites-moi comment convertir correctement un caractère contenant un chiffre en un nombre entier ? Et quelle est la différence fondamentale entre un caractère numérique et sa valeur entière correspondante ?