Transtypage en c#

Bonjour,

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

  • Votes
  • Date
  • Date décroissante
  1. 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
    1. 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
      1. 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