Transtypage en c#
aya2103
Messages postés
49
Statut
Membre
-
Nico# Messages postés 328 Date d'inscription Statut Membre Dernière intervention -
Nico# Messages postés 328 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
SVP pourqoui qd je remplace (int)'0' par 0 , ca medonne que a=56 est pa 8
SVP pourqoui qd je remplace (int)'0' par 0 , ca medonne que a=56 est pa 8
int a;
char b='8';
a = (int)b - (int)'0';
Console.WriteLine(a);
3 réponses
-
Car en castant un char en int tu recupere la valeur ASCII de ton caractere or le nombre huit en ASCII et egale a 56 pour preuve essaye de tapper ALT et meme temps tu tape 56 quand tu va relache alt tu va voir le nombre 8 s'afficher.
A l'inverse le nombre huit correspond a un espace blanc pour preuve fais la meme manip qu'avant mais avec 8 a la place de 56
Voila en esperant t'avoir aider -
Salut,
Tout simplement parsque (int)'8' est egale a 56;
Car ta conversion d'un char en int tu donne la position decimal de ton Char -
bonjour,
Excusez moi Nico c'est pas assez clair pour moi.
est ce que vous pouvez me dire pourquoi ce programme(a = (int)b - (int)'0';) donne que a =8
alors que( a = (int)b - 0;) donne a=56
merci