المتغيرات
فضاءات التسمية
أفعال

abs, labs, llabs, imaxabs

من cppreference.com
< c‏ | numeric‏ | math
 
 
 
دوال رياضية شائعة
الدوال
عمليات بسيطة
abslabsllabsimaxabs
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)(C99)(C99)
دوال أسية ولوغارتمية ثابتة الأساس
(C99)
(C99)
(C99)
(C99)
دوال أسية وجذور
(C99)
(C99)
دوال حساب المثلثات والدول الزائدية
(C99)
(C99)
(C99)
دالة الخطأ ودالة غاوس
(C99)
(C99)
(C99)
(C99)
إيجاد أقرب عدد صحيح لفاصلة عائمة (float)
(C99)(C99)(C99)
(C99)
(C99)(C99)(C99)
دوال التعديل على الفاصلة العائمة (float)
(C99)(C99)
(C99)
(C99)
التصنيف والمقارنة
(C99)
(C99)
(C99)
ثوابت ماكرو
 
معرفة في ملف <stdlib.h>
int        abs( int n );
long       labs( long n );
long long llabs( long long n );
(منذ C99)
معرفة في ملف <inttypes.h>
intmax_t imaxabs( intmax_t n );
(منذ C99)

تحسب القيمة المطلقة لعدد صحيح. السلوك غير معرف عندما لا يمكن تمثيل الناتج بالنوع المُرجع.

محتويات

[تعديل] المعطيات

n - قيمة لعدد صحيح

[تعديل] القيمة المُرجعة

القيمة المطلقة لـ ‎n‎ (أي ‎|n|‎) بشرط إمكانية تمثيلها.

[تعديل] ملحوظات

في الأنظمة المتممة ثنائيا (Two's complement), القيمة المطلقة لأكثر الأعداد سالبية تكون خارج النطاق الممكن تمثيله. فمثلا لنوع int حجمه 32 بت ومتمم ثنائيا, تكون قيمة INT_MIN بـ ‎-2147483648 بينما القيمة المطلقة هي 2147483648 وهذه تفوق INT_MAX التي تساوي 2147483647.

[تعديل] مثال

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
 
int main(void)
{
    printf("abs(+3) = %d\n", abs(+3));
    printf("abs(-3) = %d\n", abs(-3));
 
//  printf("%+d\n", abs(INT_MIN)); // undefined behavior on 2's complement systems
}

الخرج:

abs(+3) = 3
abs(-3) = 3

[تعديل] أنظر أيضا

(C99)(C99)
تحسب القيمة المطلقة لعدد من نوع فاصلة عائمة (float)‏ (|x|)
(دالة) [edit]
(C99)(C99)(C99)
computes the magnitude of a complex number
(دالة) [edit]