НАЗВАНИЕ
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.