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 [см. intro(3)], а переменной
errno будет присвоено значение ERANGE. Если же результирующее число, напротив, окажется слишком малым, чтобы
его можно было представить, то функцией ldexp будет
возвращено нулевое значение, а переменной errno будет
присвоено значение ERANGE.