Unix Man (Справочное руководство)

         

FREXP(3C)


FREXP(3C)

НАЗВАНИЕ


frexp, ldexp, modf - манипуляции над компонентами вещественных чисел

СИНТАКСИС

double frexp (value, eptr) double value; int *eptr;

double ldexp (value, exp) double value; int exp;

double modf (value, iptr) double value, *iptr;

ОПИСАНИЕ


Всякое ненулевое число может быть единственным образом записано в форме

x * 2^n

где мантисса (x) находится в диапазоне 0.5 |x| < 1.0, а порядок (n) являет собой целое число. Для аргумента value, заданного как вещественное число двойной точности, функция frexp возвращает значение мантиссы с двойной точностью и помещает значение порядка по адресу, задаваемому указателем eptr. В случае value, равного 0, функция frexp оба результата выдает нулевыми.

Функция ldexp возвращает величину (value * 2^exp).

Функция modf возвращает дробную часть аргумента value (со знаком), а целую часть (получаемую отбрасыванием дробной) помещает по адресу, задаваемому указателем iptr.

ДИАГНОСТИКА


Если при обращении к функции ldexp возникнет переполнение, то будет возвращено, в зависимости от знака value, значение +HUGE или -HUGE [см. ], а переменной errno будет присвоено значение ERANGE. Если же результирующее число, напротив, окажется слишком малым, чтобы его можно было представить, то функцией ldexp будет возвращено нулевое значение, а переменной errno будет присвоено значение ERANGE.



Содержание раздела