A voir également:
- Exposant en c
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage pascal - Télécharger - Édition & Programmation
- Dev-Pascal - Télécharger - Édition & Programmation
4 réponses
Ravachol
Messages postés
566
Date d'inscription
vendredi 5 mars 2004
Statut
Membre
Dernière intervention
30 octobre 2005
120
14 déc. 2004 à 12:00
14 déc. 2004 à 12:00
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.
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)
- 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)
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 !
++
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 !
++
maily
Messages postés
7556
Date d'inscription
lundi 26 juin 2000
Statut
Contributeur
Dernière intervention
23 juin 2023
453
14 déc. 2004 à 11:00
14 déc. 2004 à 11:00
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
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
acissokho
Messages postés
1
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
14 décembre 2004
14 déc. 2004 à 12:24
14 déc. 2004 à 12:24
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!
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!