C库 - fabs() 函数



C语言math库的fabs()函数接受类型为double的参数(x),返回x的绝对值。此函数在<math.h>头文件中定义,用于计算浮点数的绝对值。

语法

以下是C库fabs()函数的语法:

double fabs(double x)

参数

此函数只接受一个参数:

  • x − 这是浮点值。

返回值

此函数返回x的绝对值。

示例

以下是C库程序,用于演示fabs()函数。

#include <stdio.h>
#include <math.h>

int main () {
   int a, b;
   a = 1234;
   b = -344;
  
   printf("The absolute value of %d is %lf\n", a, fabs(a));
   printf("The absolute value of %d is %lf\n", b, fabs(b));
   
   return(0);
}

输出

以上代码产生以下结果:

The absolute value of 1234 is 1234.000000
The absolute value of -344 is 344.000000

示例

下面的程序计算浮点数的绝对值。这里,我们有两种类型的绝对值:正数和负数,当这些值传递给fabs()函数时,它将显示结果。

#include <stdio.h>
#include <math.h>

int main() {
   double a = 9801.0;
   double b = -1831.0;
   double res;

   res = fabs(a);
   printf("The absolute value of %.3lf is %.3lf\n", a, res);

   res = fabs(b);
   printf("The absolute value of %.3lf is %.3lf\n", b, res);

   return 0;
}

输出

执行以上代码后,我们得到以下结果:

The absolute value of 980.000 is 980.000
The absolute value of -1231.000 is 1231.000

示例

这里,我们计算长双精度数的近似绝对值。近似数的结果可以使用公式tanh = (1.0 + tanh(x / 2.0)) * (1.0 - tanh(x / 2.0)来识别。

#include <stdio.h>
#include <math.h>

long double my_exp(long double x) {
    return (1.0 + tanh(x / 2.0)) * (1.0 - tanh(x / 2.0));
}

int main() {
   long double a = -6.546;
   long double b = 5.980;
   double res;

   res = fabs(a);
   printf("The absolute value of %.3Lf is %.3lf\n", a, res);

   res = fabs(b);
   printf("The absolute value of %.3Lf is %.3lf\n", b, res);

   return 0;
}

输出

执行以上代码后,我们得到以下结果:

The absolute value of -6.546 is 6.546
The absolute value of 5.980 is 5.980
广告