fabs, fabsf, fabsl
من cppreference.com
<tbody>
</tbody>
| معرفة في ملف <math.h>
|
||
float fabsf( float arg ); |
(1) | (منذ C99) |
double fabs( double arg ); |
(2) | |
long double fabsl( long double arg ); |
(3) | (منذ C99) |
| معرفة في ملف <tgmath.h>
|
||
#define fabs( arg ) |
(4) | (منذ C99) |
1-3) تحسب القيمة المطلقة لعدد ذو فاصلة عائمة
arg.4) ماكرو عام النوع: إذا كان المعطى من النوع
long double يتم استدعاء fabsl. أما إذا كان المعطى عدد صحيح أو من النوع double يتم استدعاء fabs. فيما عدا ذلك يتم استدعاء fabsf. إذا كان المعطى عددا مركبا يتم استدعاء الدالة المركبة المناسبة (cabsf أو cabs أو cabsl).المعطيات
| arg | - | عدد ذو فاصلة عائمة |
القيمة المُرجعة
في حالة النجاح يتم إرجاع القيمة المطلقة لـarg (|arg|). القيمة المُرجعة دائما دقيقة ولا تختلف باختلاف وضع التقريب المستخدم.
التعامل مع الأخطاء
حيثيات التعامل مع الأخطاء المذكورة في math_errhandling لا تنطبق على هذه الدالة.
إذا كانت البيئة تدعم حسابات الفاصلة العائمة طبقا للـ IEEE (المعيار IEC 60559 تحديدا):
- لو كان المعطى ±0, يتم إرجاع +0
- لو كان المعطى ±∞, يتم إرجاع +∞
- لو كان المعطى NaN, يتم إرجاع NaN
مثال
قم بتشغيل هذا الكود:
#include <stdio.h>
#include <math.h>
/* This numerical integration assumes all area is positive. */
#define PI 3.14159
double num_int (double a, double b,
double f(double),
unsigned n) {
if (a == b) return 0.0;
if (n == 0) n=1; /* avoid division by zero */
double h = (b-a)/n;
double sum = 0.0;
for (unsigned k=0; k < n; ++k)
sum += h*fabs(f(a+k*h));
return 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("%f\n", num_int(0.0,2*PI,sin,100000));
}
الخرج:
fabs(+3) = 3.000000
fabs(-3) = 3.000000
fabs(-0) = 0.000000
fabs(-Inf) = inf
4.000000
أنظر أيضا
(C99) |
تحسب القيمة المطلقة لعدد صحيح (|x|) (دالة) |
(C99)(C99)(C99) |
تولد قيمة جديد قيمتها المطلقة تكافئ معطى وإشارتها نفس إشارة المعطى الآخر (دالة) |
(C99) |
تفحص ماإذا كان العدد سالبا (دالة) |
(C99)(C99)(C99) |
computes the magnitude of a complex number (دالة) |
مقالة مرجع C++ عن fabs
| |