Mettre un nombre sous forme de caractères
mrn_geii
Messages postés
2
Statut
Membre
-
mrn_geii -
mrn_geii -
Bonjour,
Je souhaite créer un cardiofréquencemètre, et pour cela j'ai besoin d'afficher les trois digits de la fréquence cardiaque sur l'afficheur LCD.
"Créer une variable PRbpm et un tableau PR[] respectivement la fréquence cardiaque sous a forme décimale et sous la forme de trois caractères.
Affecter à RPbpm la valeur 123 et créer le code nécessaire pour extraire les trois chiffres de la fréquence cardiaque et les transformer en caractères.
Pour cela, on vous dit que le caractère '0' a pour code ASCII 0x30. Afficher les trois digits de la fréquence cardiaque."
Après avoir divisé notre variable en trois chiffres ('1', '2', '3', respectivement centaine, dizaine et unite) je ne comprend pas comment les mettre dans le tableau sous forme de caractère...
(ça doit faire quelque chose du genre PR[0]=0x32 mais comment on passe d'un '2' à un 0x31 ?)
Merci d'avance.
Je souhaite créer un cardiofréquencemètre, et pour cela j'ai besoin d'afficher les trois digits de la fréquence cardiaque sur l'afficheur LCD.
"Créer une variable PRbpm et un tableau PR[] respectivement la fréquence cardiaque sous a forme décimale et sous la forme de trois caractères.
Affecter à RPbpm la valeur 123 et créer le code nécessaire pour extraire les trois chiffres de la fréquence cardiaque et les transformer en caractères.
Pour cela, on vous dit que le caractère '0' a pour code ASCII 0x30. Afficher les trois digits de la fréquence cardiaque."
Après avoir divisé notre variable en trois chiffres ('1', '2', '3', respectivement centaine, dizaine et unite) je ne comprend pas comment les mettre dans le tableau sous forme de caractère...
(ça doit faire quelque chose du genre PR[0]=0x32 mais comment on passe d'un '2' à un 0x31 ?)
Merci d'avance.
1 réponse
-
Bonjour,
en C et C++ la conversion d'un chiffre en caractère est une simple translation.int x = 2; char caractere = (char)('0' + 2); int y = caractere - '0';
Pour un nombre, il existe des fonctions, par exemplestd::istringstream entree("123"); int x; entree >> x; std::ostringstream sortie; sortie << x; // qui converti le nombre en caractères string str = sortie.str();-
Merci de m'avoir répondu,
du coup, pour un chiffre je comprend; c'est tout simple en fait.
Par contre, pour le nombre le "istringstream" du coup, c'est une fonction connue du logiciel ? (Et aussi, ">>" ça revient à un printf ?)- les stringstream sont un type pour manipuler les string (s'il manque des fonctions pour les string pour peut passer par ce type).
Elles ont un comportement flux comme les printf mais insérent/retirent les données d'un buffer au lieu d'un flux.
L'équivalent en printf de l'exemple est :
int x;
cin >> x; // demande un message qui est sensé être un nombre
cout << x; // convertit le nombre en caractères et l'envoi vers la console
-
-