.\" -*- 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 "2 мая 2024 г." "Linux man\-pages 6.8" .SH ИМЯ frexp, frexpf, frexpl \- приводит число с плавающей точкой к виду мантисса/степень .SH LIBRARY Math library (\fIlibm\fP, \fI\-lm\fP) .SH СИНТАКСИС .nf \fB#include \fP .P \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 .P .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .P \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). .P Если значение \fIx\fP равно нулю, то нормализованная мантисса равна нулю, и ноль сохраняется в \fIexp\fP. .P Если значение \fIx\fP равно NaN, то возвращается NaN, а значение \fI*exp\fP не определено. .P Если \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 .SH СТАНДАРТЫ C11, POSIX.1\-2008. .SH ИСТОРИЯ C99, POSIX.1\-2001. .P Вариант, возвращающий значение типа \fIdouble\fP, также соответствует SVr4, 4.3BSD, C89. .SH ПРИМЕРЫ Нижеследующая программа выдает такие результаты: .P .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, 2, exp, x); exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "СМОТРИТЕ ТАКЖЕ" \fBldexp\fP(3), \fBmodf\fP(3) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал Azamat Hackimov , Dmitry Bolkhovskikh , Yuri Kozlov и Иван Павлов . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику по его адресу электронной почты или по адресу .MT списка рассылки русских переводчиков .ME .