div, ldiv, lldiv

Calcula el cociente y el resto de dos valores enteros.

Sintaxis

div_t div(
   int numer,
   int denom
);
ldiv_t ldiv(
   long numer,
   long denom
);
lldiv_t lldiv(
   long long numer,
   long long denom
);
ldiv_t div(
   long numer,
   long denom
); /* C++ only */
lldiv_t div(
   long long numer,
   long long denom
); /* C++ only */

Parámetros

numer
Numerador.

denom
Denominador.

Valor devuelto

Si a div se le llama mediante argumentos del tipo int, devuelve una estructura del tipo div_t, que contiene el cociente y el resto. El valor devuelto con argumentos del tipo long es ldiv_t, mientras que el valor devuelto con argumentos del tipo long long es lldiv_t. Los tipos div_t, ldiv_t y lldiv_tse definen en <stdlib.h>.

Comentarios

La función div divide numer por denom y calcula el cociente y el resto. La estructura div_t contiene el cociente, quot y el resto, rem. El signo del cociente es el mismo que el del cociente matemático. Su valor absoluto es el entero más grande que sea menor que el valor absoluto del cociente matemático. Si el denominador es 0, el programa se cierra con un mensaje de error.

Las sobrecargas de div que toman argumentos de los tipos long o long long solo se pueden usar en código de C++. Los tipos devueltos ldiv_t y lldiv_t contienen los miembros quot y rem, que tienen los mismos significados que los miembros de div_t.

Requisitos

Routine Encabezado necesario
div, ldiv, lldiv <stdlib.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Ejemplo

// crt_div.c
// arguments: 876 13

// This example takes two integers as command-line
// arguments and displays the results of the integer
// division. This program accepts two arguments on the
// command line following the program name, then calls
// div to divide the first argument by the second.
// Finally, it prints the structure members quot and rem.
//

#include <stdlib.h>
#include <stdio.h>
#include <math.h>

int main( int argc, char *argv[] )
{
   int x,y;
   div_t div_result;

   x = atoi( argv[1] );
   y = atoi( argv[2] );

   printf( "x is %d, y is %d\n", x, y );
   div_result = div( x, y );
   printf( "The quotient is %d, and the remainder is %d\n",
           div_result.quot, div_result.rem );
}
x is 876, y is 13
The quotient is 67, and the remainder is 5

Consulte también

Compatibilidad con matemáticas y punto flotante
imaxdiv