remainder
, remainderf
, remainderl
Calcola il resto del quoziente di due valori a virgola mobile, arrotondati al valore integrale più vicino.
Sintassi
double remainder( double x, double y );
float remainderf( float x, float y );
long double remainderl( long double x, long double y );
#define remainder(X, Y) // Requires C11 or higher
float remainder( float x, float y ); /* C++ only */
long double remainder( long double x, long double y ); /* C++ only */
Parametri
x
Numeratore.
y
Denominatore.
Valore restituito
Resto a virgola mobile di x
/ y
. Se il valore di y
è 0,0, remainder
restituisce un valore NaN silenzioso (QNaN). Per informazioni sulla rappresentazione di un NaN non interattiva per la printf
famiglia, vedereprintf
, _printf_l
, wprintf
, _wprintf_l
.
Osservazioni:
Le remainder
funzioni calcolano il resto r
a virgola mobile di x / y
in modo che , dove n
è l'intero più vicino nel valore a x / y
e n
sia anche ogni volta |n - x / y| = 1/2
che x = n * y + r
. Quando r = 0
, r
ha lo stesso segno di x
.
Dato che C++ consente l'overload, è possibile chiamare degli overload di remainder
che accettino e restituiscano valori float
o long double
. In un programma C, a meno che non si usi la <macro tgmath.h> per chiamare questa funzione, remainder
accetta sempre due double
argomenti e restituisce un oggetto double
.
Se si utilizza la <macro tgmath.h>remainder()
, il tipo dell'argomento determina quale versione della funzione è selezionata. Per informazioni dettagliate, vedere La matematica generica dei tipi.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Requisiti
Funzione | Intestazione obbligatoria (C) | Intestazione obbligatoria (C++) |
---|---|---|
remainder , remainderf , remainderl |
<math.h> | <cmath> o <math.h> |
remainder macro |
<tgmath.h> |
Per informazioni sulla compatibilità, vedere Compatibilità.
Esempio
// crt_remainder.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;
z = remainder(w, x);
printf("The remainder of %.2f / %.2f is %f\n", w, x, z);
}
The remainder of -10.00 / 3.00 is -1.000000
Vedi anche
Supporto matematico e a virgola mobile
ldiv
, lldiv
imaxdiv
fmod
, fmodf
remquo
, remquof
, remquol