Posez votre question Signaler

Langage C : division et exposant ?

kapgue - Dernière réponse le 15 avril 2007 à 20:31
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.
Lire la suite 
Réponse
+2
moins plus
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)
Ajouter un commentaire
Réponse
+2
moins plus
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 !
++
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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!
Ajouter un commentaire
Ce document intitulé «  Langage C : division et exposant ?  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.