Navigation
Inscrivez-vous gratuitement pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter
Sujet:
C
25/06/2012, 17h58
#1
Nouveau membre du Club
Fonction pow de double en C
salut,
Dans mon programme en C, je dois utiliser la fonction pow(double, double). Cela marche en mettant directement
double resultat= pow(1681, 0. 5);
Cependant, cela ne marche pas avec
double a=1681;
double b=0. (.text+0x20):référence indéfinie vers « main » - Code Examples. 5;
double resultat= pow(a, b);
=> Undefined reference to 'pow'
étant en embarqué je ne peux pas ajouter de librairies mais math. h est déja incluse. Merci. 25/06/2012, 18h23
#2
Comme tu le précises, math. h est déja incluse (sinon pow ( double, double) ne compilerait pas)
mais elle ne doit pas être linkée ( gcc -lm), ce qui est indispensable pour utiliser "dynamiquement" (c'est sûrement pas le mot qui convient mais quelqu'un de plus expert corrigera) pow
26/06/2012, 22h47
#3
Nouveau Candidat au Club
ca marche maintenant
1 2 3 4 5 6 7 8 9 10 11 12
#include
Fonction Pow En Cliquant
la fonction puissance pow()? entier, réel? - C
Programmation Algorithmique 2D-3D-Jeux Assembleur C C++ D Go Kotlin Objective C Pascal Perl Python Rust Swift Qt XML Autres
Navigation
Inscrivez-vous gratuitement pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter
Sujet:
C
02/12/2006, 11h20
#1
Membre habitué
la fonction puissance pow()? C - Où est la fonction pow défini et mis en œuvre en C?. entier, réel? Bonjour,
J'ai une petite question concernant la fonction puissance pow:
Lorsque je mets ce code:
printf ( "%d", pow ( 2, 7));
J'obtiens 0
et lorsque je mets:
printf ( "%f", pow ( 2, 7));
J'obtiens bien 128, 000000. Mais pourtant 2 à la puissance 7 = 128 et 128 c'est bien un entier, je ne comprends donc pas pourquoi ca passe pas avec%d?? Quelqu'un peut m'expliquer svp? Merci Bonne journée
02/12/2006, 12h20
#2
Membre à l'essai
Quand tu regardes le prototype de la fonction pow tu trouves:
double pow (double, double);
Donc cette fonction renvoie un double qui est un type flottant c'est pour ça que ton printf ne marche pas.
Fonction Pow En Commun
Fermé
ikram00
Messages postés
16
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
25 mai 2012
-
5 mars 2012 à 01:30
Char Snipeur
9688
vendredi 23 avril 2004
Contributeur
2 octobre 2020
5 mars 2012 à 13:49
Bonjour,
je suis débutante en programmation j'ai un petit problème avec la bibliothèque
et là j'arrive pas à calculer la puissance en utilisant la fonction "pow"
voilà mon prog:
printf("entre un nombre: \n");
scanf("%d", &nbr3);
printf("entrez un deuxieme nombre: \n");
scanf("%d", &nbr4);
printf("%d ^%d =%d\n", nbr3, nbr4, pow(nbr3, nbr4));
en compilant le prog le resultat envoie 0!!! besoin d'un coup de main
et mercii
KX
16540
samedi 31 mai 2008
Modérateur
22 mai 2022
2 957
5 mars 2012 à 08:15
pow s'applique à des nombres réels, or ici avec%d c'est des entiers que tu utilises...
Fonction Pow C
Sur les int et les longs il y a des erreurs dues a la conversion. Attention, les calculs fait avec des float ou des doubles ne sont pas mathematiquement exacts. 9 décembre 2005 à 14:58:52
Si tu veux faire 10^2, il faut pas utiliser pow
Il faut décaler les bits vers la gauche
Si tu veux apprendre un truc intéressant, google à ce sujet
9 décembre 2005 à 16:15:23
Citation: victor Si tu veux faire 10^2, il faut pas utiliser pow
Pourquoi on ne fait pas pow pour 10^2? Ca veut dire quoi en Français: "Il faut décaler les bits vers la gauche "? Fonction pow en commun. PS: De rien Klomac
9 décembre 2005 à 16:31:14
faire une elevation (multiple de 2)
est plus interessant de decaler les bits. En fait en bianire, on ecrit de droit a gauche, et chaque fois on a l'exposant de 2 qui augmente
2^4 2^3 2^2 2^1 2^0
Si tu a un numero, 4 par example il est code:
00100. Si tu l'eleve au carre tu peut faire 2*2 ou alors decaler les bits a gauche, cela donne:
01000 = 16
Cool non?? Ca marche que pour les multiple de 2, mais bon, c'est interessant a connaitre.
// working with integers in
int a;
// Using typecasting for
// integer result
a = (int)(pow(5, 2) + 0. 5);
printf("%d", a);
cout << a;
Cet article est rédigé par Arushi Dhamija et Jatin Goyal. Si vous aimez GeeksforGeeks et souhaitez contribuer, vous pouvez également écrire un article en utilisant ou envoyer votre article à Consultez votre article apparaissant sur la page principale de GeeksforGeeks et aidez les autres Geeks. Fonction pow en cliquant. Veuillez écrire des commentaires si vous trouvez quelque chose d'incorrect ou si vous souhaitez partager plus d'informations sur le sujet abordé ci-dessus. Vous voulez apprendre des meilleures vidéos et des problèmes de pratique, consultez le cours C Foundation pour Basic à Advanced C.