Equação em C18

Bom dia.
Estou tentando colocar a equação que calcula a sensação térmica dentro de um programa escrito em linguagem C.
Obs: Compilador C18 V3.46, MPLAB 8.41 PIC18F2620
A equação é: ST = 33 + (10 x sqrt V + 10,45 - V) x (T - 33) / 22
Onde: T = Temperatura ambiente. Resolução de uma casa depois da vírgula EX: 33,4
V = Velocidade do vento em m/s. Também com resolução de uma cada depois da vírgula
Agora como eu coloquei isto dentro do código em forma de função:
Coloquei os includes "math.h" e "float.h".
Pelo que noto o PIC parece não calcular certo a raiz quadrada, não sei se há alguma limitação por ser uma variável float ou algo assim ou o modo como eu montei a equação esteja errado.
Se alguém tiver alguma dica, ajuda ou a solução, fico muito agradecido.
Obrigado.
Estou tentando colocar a equação que calcula a sensação térmica dentro de um programa escrito em linguagem C.
Obs: Compilador C18 V3.46, MPLAB 8.41 PIC18F2620
A equação é: ST = 33 + (10 x sqrt V + 10,45 - V) x (T - 33) / 22
Onde: T = Temperatura ambiente. Resolução de uma casa depois da vírgula EX: 33,4
V = Velocidade do vento em m/s. Também com resolução de uma cada depois da vírgula
Agora como eu coloquei isto dentro do código em forma de função:
- Código: Selecionar todos
long CalculaSensacaoTermica(float VVento,float TAmbiente)
{
float ST;
float STMUL;
float RaizVel;
float AuxTemp;
long STC;
RaizVel = sqrt(VVento);//tira raiz da velocidade
//já calcula última parte da equação
AuxTemp = TAmbiente - 33;
AuxTemp /=22;
ST = 33 + (10 * RaizVel + 10.45 - VVento) * AuxTemp;
STMUL=ST;
STMUL*=10;//multiplica pra acertar casas decimais
STC = (unsigned long)STMUL;//converte pra long
return STC;
}
Coloquei os includes "math.h" e "float.h".
Pelo que noto o PIC parece não calcular certo a raiz quadrada, não sei se há alguma limitação por ser uma variável float ou algo assim ou o modo como eu montei a equação esteja errado.
Se alguém tiver alguma dica, ajuda ou a solução, fico muito agradecido.
Obrigado.