Au pouvoir de C?

Donc, en python, tout ce que je dois faire est

print(3**4) 

Ce qui me donne 81

Comment puis-je faire cela en C? J’ai cherché un peu et dire la fonction exp() , mais je ne sais pas comment l’utiliser, merci d’avance

Vous avez besoin de pow(); fonction de l’entête math.h
syntaxe

 #include  double pow(double x, double y); float powf(float x, float y); long double powl(long double x, long double y); 

Ici, x est la base et y est l’exposant. le résultat est x^y .

usage

 pow(2,4); result is 2^4 = 16. //this is math notation only // In c ^ is a bitwise operator 

Et assurez-vous d’inclure math.h pour éviter les avertissements (” incompatible implicit declaration of built in function 'pow' “).

Liez la bibliothèque mathématique en utilisant -lm lors de la compilation. Cela dépend de votre environnement.
Par exemple, si vous utilisez Windows, cela n’est pas obligatoire, mais il s’agit de systèmes UNIX.

 #include  printf ("%d", (int) pow (3, 4)); 

Il n’y a pas d’opérateur pour un tel usage en C, mais une famille de fonctions:

 double pow (double base , double exponent); float powf (float base , float exponent); long double powl (long double base, long double exponent); 

Notez que les deux derniers ne sont qu’une partie de la norme C depuis C99.

Si vous recevez un avertissement tel que:

“déclaration implicite incompatible de la fonction intégrée ‘pow'”

C’est parce que vous avez oublié #include .

vous pouvez utiliser pow(base, power) de #include

ou créez le vôtre:

 int myPow(int x,int n) { int i; /* Variable used in loop counter */ int number = 1; for (i = 0; i < n; ++i) number *= x; return(number); } 

Pour une autre approche, notez que toutes les fonctions de bibliothèque standard fonctionnent avec des types à virgule flottante. Vous pouvez implémenter une fonction de type entier comme ceci:

 unsigned power(unsigned base, unsigned degree) { unsigned result = 1; unsigned term = base; while (degree) { if (degree & 1) result *= term; term *= term; degree = degree >> 1; } return result; } 

Cela fait effectivement des multiples répétés, mais réduit un peu en utilisant la représentation de bits. Ceci est très efficace pour les puissances faibles.

utilisez simplement pow(a,b) , qui est exactement 3**4 en python

En réalité, en C, vous n’avez pas d’opérateur élecsortingque. Vous devrez exécuter manuellement une boucle pour obtenir le résultat. Même la fonction exp ne fonctionne que de cette manière. Mais si vous devez utiliser cette fonction, incluez l’en-tête suivant

 #include  

alors vous pouvez utiliser pow ().