fabs, fabsf, fabsl, fabsd32, fabsd64, fabsd128
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Определено в заголовочном файле
<math.h>
|
||
|
float
fabsf
(
float
arg
)
;
|
(1) | (начиная с C99) |
|
double
fabs
(
double
arg
)
;
|
(2) | |
|
long
double
fabsl
(
long
double
arg
)
;
|
(3) | (начиная с C99) |
|
_Decimal32 fabsd32
(
_Decimal32 arg
)
;
|
(4) | (начиная с C23) |
|
_Decimal64 fabsd64
(
_Decimal64 arg
)
;
|
(5) | (начиная с C23) |
|
_Decimal128 fabsd128
(
_Decimal128 arg
)
;
|
(6) | (начиная с C23) |
|
Определено в заголовочном файле
<tgmath.h>
|
||
|
#define fabs( arith )
|
(7) | (начиная с C99) |
|
Функции с параметрами десятичных чисел с плавающей запятой объявляются тогда и только тогда, когда реализация предопределяет
|
(since C23) |
fabsd128
,
fabsd64
,
fabsd32
,
(since C23)
fabsl
,
fabs
, или
fabsf
вызывается соответственно. В противном случае, если аргумент имеет целочисленный тип,
fabs
вызывается. В противном случае, если аргумент является комплексным, то макрос вызывает соответствующую комплексную функцию (
cabsf
,
cabs
,
cabsl
). В противном случае поведение не определено.
Содержание |
Параметры
| arg | - | значение с плавающей запятой |
| arith | - | значение с плавающей запятой или целочисленное значение |
Возвращаемое значение
В случае успеха возвращает абсолютное значение arg ( \(\small |arg| \) |arg| ). Возвращаемое значение является точным и не зависит от каких-либо режимов округления.
Обработка ошибок
Эта функция не подвержена ни одному из условий ошибок, указанных в math_errhandling .
Если реализация поддерживает арифметику с плавающей запятой IEEE (IEC 60559),
- Если аргумент равен ±0, возвращается +0.
- Если аргумент равен ±∞, возвращается +∞.
- Если аргумент равен NaN, возвращается NaN.
Пример
#include <math.h> #include <stdio.h> #define PI 3.14159 // This numerical integration assumes all area is positive. double integrate(double f(double), double a, double b, // assume a < b unsigned steps) // assume steps > 0 { const double dx = (b - a) / steps; double sum = 0.0; for (double x = a; x < b; x += dx) sum += fabs(f(x)); return dx * sum; } int main(void) { printf("fabs(+3) = %f\n", fabs(+3.0)); printf("fabs(-3) = %f\n", fabs(-3.0)); // special values printf("fabs(-0) = %f\n", fabs(-0.0)); printf("fabs(-Inf) = %f\n", fabs(-INFINITY)); printf("Area under sin(x) in [-PI, PI] = %f\n", integrate(sin, -PI, PI, 5101)); }
Вывод:
fabs(+3) = 3.000000 fabs(-3) = 3.000000 fabs(-0) = 0.000000 fabs(-Inf) = inf Area under sin(x) in [-PI, PI] = 4.000000
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
-
- 7.12.7.2 Функции fabs (стр.: TBD)
-
- 7.25 Обобщённая математика <tgmath.h> (стр.: TBD)
-
- F.10.4.2 Функции fabs (стр.: TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
-
- 7.12.7.2 Функции fabs (стр. 181)
-
- 7.25 Обобщённая математика <tgmath.h> (стр. 272-273)
-
- F.10.4.2 Функции fabs (стр. 382)
- Стандарт C11 (ISO/IEC 9899:2011):
-
- 7.12.7.2 Функции fabs (стр. 248)
-
- 7.25 Обобщенная математика <tgmath.h> (стр. 373-375)
-
- F.10.4.2 Функции fabs (стр. 524)
- Стандарт C99 (ISO/IEC 9899:1999):
-
- 7.12.7.2 Функции fabs (стр. 228-229)
-
- 7.22 Обобщенная математика <tgmath.h> (стр. 335-337)
-
- F.9.4.2 Функции fabs (стр. 460)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
-
- 4.5.6.2 Функция fabs
Смотрите также
|
(C99)
|
вычисляет абсолютное значение целочисленной величины (
\(\small{|x|}\)
|x|
)
(функция) |
|
(C99)
(C99)
(C99)
|
создает значение с величиной первого аргумента и знаком второго аргумента
(функция) |
|
(C99)
|
проверяет, является ли заданное число отрицательным
(функция-макрос) |
|
(C99)
(C99)
(C99)
|
вычисляет модуль комплексного числа
(функция) |
|
C++ documentation
для
fabs
|
|