Langage C : division et exposant ?

bonjour, s'il vous plait.
quel est le symbole de la division entière et de l'exposant en langage c.comment faire un programme c qui convertit un nombre en une base quelconque a en une autre base b.

4 réponses

  1. Salut,
    - Pour calculer x puis y tu as pow qui se trouve dans math.h
    - Pour les conversions base à base, si tu restes dans les bases "classiques" tu n'as pas grand chose à faire sauf pour l'affichage binaire. Je met un petit exemple très simple.
    void decbin (int valeur, char *resultat)
    {
      int n = 0;
      char bitn[2];
      
      for (n = 31 ; n >= 0 ; n--)
      {
        sprintf(bitn,"%d", ((valeur & (1 << n)) == (1 << n)));
        strcat(resultat, bitn);
        // Cosméthique, sert à séparer les quartets par un espace
        if (n % 4 == 0) strcat(resultat, " ");
      }
    }
    
    int main(int argc, char *argv[])
    {
      int nb;
      char bin[40] = {0};
      nb = 325;
      decbin(nb, bin);
      printf("Base 2: %s\tBase 8: %o\tBase 10: %d\tBase 16: %X\n",bin, nb, nb, nb);
      return 0;
    }
    

    Je n'ai pas mis les headers et je te laisses écrire la fonction bindec ;-)

    A++

    C'est pas parce qu'ils sont nombreux à avoir tort
    qu'ils ont raison! (COLUCHE)
    2
    1. Pour ceux qui chercheraient encore sur ce vieux post une aide sur les exposants en langage C, voici comment il faut procéder :

      int main()
      {
      ___int nb, e, res, b;

      /* "e" est l'exposant à appliquer au nombre "nb" ; le résultat sera stocké dans "res" ; et b sert pour la boucle "for" : */

      /* Ici on imagine que l'on aquière "nb" et "e", en suposant que "e" est un entier strictement positif... */

      ___res=nb; // On place une 1ère fois "nb" dans "res"...
      ___for(b=1;b<e;b++) // puis on passe e-1 fois dans cette boucle...
      ______res=res*nb;

      /* Voilà, ici nous avons res = nb^e (marche aussi pour e=1), libre à vous d'en faire ce que vous voulez ! */

      ___return 0;
      }

      Cette solution n'est bien sûr pas la seul possible ; elle permet cependant de conserver les valeurs de "nb" et de "e" de départ.
      Bonne chance pour la suite !
      ++
      2
      1. Contributeur
        bonjour!!!

        la division entière: /

        Mais, il faut que tu ai des entiers.
        Ensuite, qu'entends tu par exposant?

        Pour convertir en n'importe quelle base, il faut d'abord comprendre comment tu passerais mathématiquement d'une base à l'autre, via la division entière!

        bon courage!

        Maily :-))))
        Boumj'chtattrape
        0
        1. Salut!
          symbole de la division entiere:/
          l'operateur exposant(puissance)n'existe pas en langage c.
          Il faut d'abord ecrire l'algorithme pour faciliter la programmation
          à bientot!
          0