remquo
, , remquof
remquol
Вычисляет оставшуюся часть двух целых значений и сохраняет целочисленное значение со знаком и приблизительной величиной кавыка в параметре.
Синтаксис
double remquo( double numer, double denom, int* quo );
float remquof( float numer, float denom, int* quo );
long double remquol( long double numer, long double denom, int* quo );
#define remquo(X, Y, INT_PTR) // Requires C11 or higher
float remquo( float numer, float denom, int* quo ); /* C++ only */
long double remquo( long double numer, long double denom, int* quo ); /* C++ only */
Параметры
numer
Числитель.
denom
Знаменатель.
quo
Указатель на целое число для хранения значения, которое имеет знак и приблизительное абсолютное значение частного.
Возвращаемое значение
Функция remquo
возвращает остаток от деления x
/ y
в виде числа с плавающей запятой. Если значение y
равно 0,0, функция remquo
возвращает NaN (не число) без вызова прерывания. Сведения о представлении тихого NaN printf
семьей см. в разделеprintf
, , _printf_l
, . _wprintf_l
wprintf
Замечания
Функция remquo
вычисляет оставшуюся часть / y
f
x
с плавающей запятой таким образом, что *, где n
является целым числом, имеет тот же знак, f
что = + y
n
f
* x
x
и абсолютное значение f
меньше абсолютного y
значения.
Поскольку C++ допускает перегрузку, можно вызывать перегрузки remquo
, которые принимают и возвращают значения типов float
или long double
. Если вы не используете <макрос tgmath.h> для вызова этой функции remquo
, всегда принимает два double
аргумента и возвращает значение double
.
Если вы используете <макрос tgmath.h>remquo()
, тип аргумента определяет, какая версия функции выбрана. Дополнительные сведения см . в разделе "Математика с универсальным типом".
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Требования
Function | Обязательный заголовок (C) | Обязательный заголовок (C++) |
---|---|---|
remquo , , remquof remquol |
<math.h> | <cmath> или <math.h> |
remquo Макрос |
<tgmath.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
// crt_remquo.c
// This program displays a floating-point remainder.
#include <math.h>
#include <stdio.h>
int main( void )
{
double w = -10.0, x = 3.0, z;
int quo = 0;
z = remquo(w, x, &quo);
printf("The remainder of %.2f / %.2f is %f\n", w, x, z);
printf("Approximate signed quotient is %d\n", quo);
}
The remainder of -10.00 / 3.00 is -1.000000
Approximate signed quotient is -3
См. также
Поддержка математических и плавающих точек
ldiv
, lldiv
imaxdiv
fmod
, fmodf
remainder
, , remainderf
remainderl