Signaler

Langage C : division et exposant ?

Posez votre question 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.
Afficher la suite 
Utile
+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
Utile
+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
Utile
+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
Utile
+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

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.

Vous n'êtes pas encore membre ?

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