TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: CsDFiV en 19 de Abril de 2009, 17:04:07
-
Hola, necesito la ayuda de ustedes nuevamente. Alguien me podria decir como debo declarar una funcion o como debo hacer para que una operacion matematica hecha en C18 tome el valor absoluto del resultado. es decir supongamos lo siguiente
X - Y = Z
Z será positivo si X > Y
Z será 0 si X == Y
Z sera negativo si X < Y
entonces como no puedo tomar valores negativos como puedo hacer para que el valor que devuelva Z sea el valor absoluto y de esa manera nunca sea negativo?
Gracias!
-
fabs
Function: Compute the absolute value.
Include: math.h
Prototype: float fabs( float x );
Remarks: For floating point arguments that are zeroes and infinities, the return
value is the argument with the sign bit cleared.
Return Value: The absolute value of x.
File Name: fabs.c
Hay que buscar un poco más en la documentación! :)
-
depende del tipo de variable q estes usando. En el caso de q sea flotante, usas fabs como bien dijo sycho. En caso contrario tendras q castear la variable o usar directamente la funcion abs(). Y si no, vos mismo podes programar una pequeña funcion q haga lo q decis... si es positivo q quede como esta, y si es negativo q lo multiplique por -1 y listo.
saludos!