Rechercher : dans
Par :

Langage C : division et exposant ?

Dernière réponse le 18 fév 2009 à 23:46:09 kapgue, le 14 déc 2004 à 10:48:23 
 Signaler ce message aux modérateurs

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.

Meilleures réponses pour « Langage C : division et exposant ? » dans :
[Langage C] C/C++ Erreur de segmentation VoirQu'est ce qu'une erreur de segmentation Vous êtes en train de développer une application sous Linux en C/C++. Tout va bien, ça compile, les oiseaux chantent. Donc vous lancez votre application pour la tester. Et vous obtenez l'un de ces deux...
Les piles en langage C VoirLes piles Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la pile IV. Opérations sur les piles A. Initialisation B. Insertion d'un élément dans la pile C. Ôter un élément de la pile D. Affichage...
Les files en langage C VoirLes files - Premier Entré Premier Sorti Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la file IV. Opérations sur les files A. Initialisation B. Insertion d'un élément dans la file C. Oter un...
Langage C++ - Les types de données VoirLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
Langage C - Les types de données VoirLes types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...

1

maily, le 14 déc 2004 à 11:00:05

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

Répondre à maily

2

Ravachol, le 14 déc 2004 à 12:00:13

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)

Répondre à Ravachol

3

acissokho, le 14 déc 2004 à 12:24:57

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!

Répondre à acissokho

4

 Cuicui, le 15 avr 2007 à 20:31:30
  • +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 !
++

Répondre à Cuicui