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