div, ldiv, lldiv

Вычисляет частное и остаток от деления двух целочисленных значений.

Синтаксис

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 */

Параметры

numer
Числитель.

denom
Знаменатель.

Возвращаемое значение

div вызывается с помощью аргументов типа, возвращает структуру типа intdiv_t, которая содержит кворот и оставшуюся часть. Возвращаемое значение с аргументами типа long , а возвращаемое значение с аргументами типа long longlldiv_t.ldiv_t div_tldiv_tТипы и lldiv_t типы определяются в <stdlib.h>.

Замечания

Функция div делится на denom и вычисляет numer кворот и оставшуюся часть. Структура div_t содержит частное (quot) и остаток (rem). Знак квотиента совпадает со знаком математического квотиента. Его абсолютное значение является самым большим целым числом, которое меньше абсолютного значения математического кавыка. Если знаменатель равен 0, выполнение программы прекратится и появится сообщение об ошибке.

Перегрузки div , которые принимают аргументы типа long или long long доступны только коду C++. Возвращаемые типы ldiv_t и lldiv_t содержат элементы quot , remкоторые имеют те же значения, что и члены div_t.

Требования

Маршрут Обязательный заголовок
div, ldiv, lldiv <stdlib.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

Пример

// 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

См. также

Поддержка математических и плавающих точек
imaxdiv