Opérateurs mathématiques en C sous MCC18

Electronique numérique / Circuits logiques programmables EPLD, CPLD, FPGA d'Altera ou de Xilinx VHDL, Verilog ou SystemC

Modérateur : Modérateur

nico*
REGULIER
REGULIER
Messages : 109
Inscription : 23 avr. 2006 22:17

Opérateurs mathématiques en C sous MCC18

Message 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
nico*
REGULIER
REGULIER
Messages : 109
Inscription : 23 avr. 2006 22:17

Message 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...
nico*
REGULIER
REGULIER
Messages : 109
Inscription : 23 avr. 2006 22:17

Message 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...
Répondre