.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" References consulted: .\" Linux libc source code .\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) .\" 386BSD man pages .\" Modified 1993-07-24 by Rik Faith (faith@cs.unc.edu) .\" Modified 2002-07-27 by Walter Harms .\" (walter.harms@informatik.uni-oldenburg.de) .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH frexp 3 "20 июля 2023 г." "Linux man\-pages 6.05.01" .SH ИМЯ frexp, frexpf, frexpl \- приводит число с плавающей точкой к виду мантисса/степень .SH LIBRARY Math library (\fIlibm\fP, \fI\-lm\fP) .SH СИНТАКСИС .nf \fB#include \fP .PP \fBdouble frexp(double \fP\fIx\fP\fB, int *\fP\fIexp\fP\fB);\fP \fBfloat frexpf(float \fP\fIx\fP\fB, int *\fP\fIexp\fP\fB);\fP \fBlong double frexpl(long double \fP\fIx\fP\fB, int *\fP\fIexp\fP\fB);\fP .fi .PP .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .PP \fBfrexpf\fP(), \fBfrexpl\fP(): .nf _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || /* начиная с glibc 2.19: */ _DEFAULT_SOURCE || /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE .fi .SH ОПИСАНИЕ Эти функции используются для разделения числа \fIx\fP на нормализованную мантиссу и степень, которая сохраняется в \fIexp\fP. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" Эти функции возвращают нормализованную мантиссу. Если аргумент \fIx\fP не равен нулю, то нормализованная мантисса равна \fIx\fP степеням двойки, а её абсолютное значение всегда находится в диапазоне от 1/2 (включительно) до 1 (не включая), то есть [0.5,1). .PP Если значение \fIx\fP равно нулю, то нормализованная мантисса равна нулю, и ноль сохраняется в \fIexp\fP. .PP Если значение \fIx\fP равно NaN, то возвращается NaN, а значение \fI*exp\fP не определено. .PP Если \fIx\fP равно плюс или минус бесконечность, то будет возвращена плюс или минус бесконечность, а значение \fI*exp\fP не определено. .SH ОШИБКИ Ошибки не возникают. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBfrexp\fP(), \fBfrexpf\fP(), \fBfrexpl\fP() T} Безвредность в нитях MT\-Safe .TE .sp 1 .SH СТАНДАРТЫ C11, POSIX.1\-2008. .SH ИСТОРИЯ C99, POSIX.1\-2001. .PP Вариант, возвращающий значение типа \fIdouble\fP, также соответствует SVr4, 4.3BSD, C89. .SH ПРИМЕРЫ Нижеследующая программа выдает такие результаты: .PP .in +4n .EX $\fB ./a.out 2560\fP frexp(2560, &e) = 0.625: 0.625 * 2\[ha]12 = 2560 $\fB ./a.out \-4\fP frexp(\-4, &e) = \-0.5: \-0.5 * 2\[ha]3 = \-4 .EE .in .SS "Исходный код программы" .\" SRC BEGIN (frexp.c) \& .EX #include #include #include #include \& int main(int argc, char *argv[]) { double x, r; int exp; \& x = strtod(argv[1], NULL); r = frexp(x, &exp); \& printf("frexp(%g, &e) = %g: %g * %d\[ha]%d = %g\en", x, r, r, FLT_RADIX, exp, x); exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "СМ. ТАКЖЕ" \fBldexp\fP(3), \fBmodf\fP(3) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Azamat Hackimov , Dmitry Bolkhovskikh , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .