//* floating point calculations (large embedded systems only) *

#include <stdio.h> #include <math.h> int main() { double x; printf("Please enter a floating point value "); scanf("%lf", &x); printf("fabs %lf\n", fabs(x) ); // see also abs(x) printf("abs %lf\n", abs(x) ); // returns int instead of double!! printf("abs %d\n", abs(x) ); // truncates to int and returns int!! printf("sqrt %lf\n", sqrt(x) ); // x>=0 (see what happens for x<=0) printf("pow %lf\n", pow(x-1,0.5));// postive value argument required for non integer exponent, i.e. x-1>=0 printf("pow %lf\n", pow(x-1,3) ); // for integer exponent that requirement is up to the library, safer: x-1>=0 printf("exp %lf\n", exp(x) ); // any x printf("log %lf\n", log(x) ); // x>0 printf("log10 %lf\n", log10(x) ); // x>0 printf("floor %lf\n", floor(x) ); // floor(-4.9)=-5, floor(4.9)=4 printf("ceil %lf\n", ceil(x) ); // ceil(-4.9)=-4, ceil(4.9)=5 // no truncate or round up function!! printf("sin %lf\n", sin(x) ); // any x, in radians printf("sinh %lf\n", sinh(x) ); // any x, in radians printf("asin %lf\n", asin(x) ); // -1<=x<=1, result in radians printf("cos %lf\n", cos(x) ); // any x, in radians printf("cosh %lf\n", cosh(x) ); // any x, in radians printf("acos %lf\n", acos(x) ); // -1<=x<=1, result in radians printf("tan %lf\n", tan(x) ); // any x, in radians printf("tanh %lf\n", tanh(x) ); // any x, in radians printf("atan %lf\n", atan(x) ); // any x, result in radians printf("1/x %lf\n", 1/x ); // x!=0 (see what happens for x==0) return(0); }