frexp(3)

الاسم
frexp, frexpf, frexpl - تحويل عدد فاصل عائم إلى مكونات كسرية وصحيحة

المكتبة
مكتبة الرياضيات (libm، -lm)

موجز
#include <math.h>

double frexp(double x, int *e);
float frexpf(float x, int *e);
long double frexpl(long double x, int *e);

    متطلبات ماكروات اختبار الميزات لـ glibc (انظر feature_test_macros(7)):

frexpf(), frexpl():
    _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
        || /* Since glibc 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

الوصف
تُستخدم هذه الدوال لتقسيم العدد x إلى كسر معياري وأس يُخزَّن في e.

قيمة الإرجاع
تُرجع هذه الدوال الكسر المعياري. إذا لم يكن المعامل x صفرًا، فإن الكسر المعياري هو x مضروبًا في قوة للعدد 2، وتكون قيمته المطلقة دائمًا في النطاق 1/2 (شامل) إلى 1 (غير شامل)، أي [0.5,1).

إذا كان x صفرًا، فإن الكسر المعياري يكون صفرًا ويُخزَّن الصفر في e.

إذا كان x قيمة NaN، تُرجع قيمة NaN، وتكون قيمة *e غير محددة.

إذا كان x موجب اللانهاية (سالب اللانهاية)، يُرجع موجب اللانهاية (سالب اللانهاية)، وتكون قيمة *e غير محددة.

الأخطاء
لم تحدث أخطاء.

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
frexp(), frexpf(), frexpl() | سلامة الخيوط | MT-Safe

المعايير
C11, POSIX.1-2008.

التاريخ
C99، POSIX.1-2001.

النسخة التي تُعيد double تتوافق أيضًا مع SVr4، و 4.3BSD، و C89.

أمثلة
يُنتج البرنامج أدناه نتائج مثل التالية:

    $ ./a.out 2560
    frexp(2560, &e) = 0.625: 0.625 * 2^12 = 2560
    $ ./a.out -4
    frexp(-4, &e) = -0.5: -0.5 * 2^3 = -4

  مصدر البرنامج
    #include <float.h>
    #include <math.h>
    #include <stdio.h>
    #include <stdlib.h>

    int
    main(int argc, char *argv[])
    {
        double x, r;
        int e;

        x = strtod(argv[1], NULL);
        r = frexp(x, &e);

        printf("frexp(%g, &e) = %g: %g * %d^%d = %g\n", x, r, r, 2, e, x);
        exit(EXIT_SUCCESS);
    }

انظر أيضًا
ldexp(3), modf(3)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.