Page 1 sur 1

Opérateurs mathématiques en C sous MCC18

Publié : 26 juin 2006 0:12
par nico*
Salut,

Comment peut-on calculer la puissance d'un nombre en C ?
Je programme un dsPIC avec MCC30
je déclare ma variable en long double (64 bits)

Code : Tout sélectionner

long double A,B,C;
A=9;
B=A^2;
C=A^0,5;
après ca je devait avoir : A=9, B=81 et C=3 (non ?)
manque de bol j'ai carément une erreur de compilation :
error: invalid operands to binary ^
à therme mon projet est de programmer un altimètre, et la puissance est une constante flotante... j'espère que le dsPIC tiendra le coup. Mais d'abord je doit résoudre l'erreur de compilation.

Avez vous des idées ?
Merci d'avance

Publié : 26 juin 2006 0:17
par nico*
a bah oai quelle quiche !
le ^ c'est pour faire du OU bit à bit
a bah zut alors...
il existe une instruction spécifique pour les puissances ? ou faut faire une fonction pour ?
faire une fonction qui fait ca pour des nombres entier c'est relax, mais en virgule flottante...

Publié : 26 juin 2006 1:04
par nico*
problème résolu

j'ai trouver tout seul comme un grand avec la doc de µchip
ca marche et je peut faire :

h=288.15*(1-pow((P/101325.0),0.0065*287.052/9.8066))/0.0065;

et mon dsPIC il est bon vu que ca prend que 3ko. par contre c'est un peu long a executer : 8700 cycles, à 40MHz ca serait cool mais pour des problème de conso je serait sans doute plus proche des 100kHz...