Langage C : division et exposant ?

kapgue -  
 Cuicui -
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. Ravachol Messages postés 568 Statut Membre 120
     
    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
  2. Cuicui
     
    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
  3. maily Messages postés 7560 Statut Contributeur 453
     
    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
  4. acissokho Messages postés 1 Statut Membre
     
    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