ldiv、lldiv

计算两个整数商和余数作为一个操作。

ldiv_t ldiv(
   long numer,
   long denom 
);
lldiv_t lldiv(
   long long numer,
   long long denom 
);

参数

  • numer
    枚举器。

  • denom
    分母。

返回值

ldiv 返回一个包括商和余数类型的 ldiv_t 结构。 lldiv 返回一个包括商和余数类型的 ldiv_t 结构。

备注

ldivlldiv 函数将 numer除以denom 从而计算商和余数。 该商的符号与数学商的符号相同。 商的绝对值是最大的整数,这个整数小于数学商的绝对值。 如果分母为 0,则程序终止并会出现一条错误消息。 ldiv 的参数和返回的结构成员都是long类型 ,并且,lldiv 的参数和返回的结构成员是 long long类型。除此之外,ldivlldivdiv相同。

ldiv_t 和 lldiv_t 结构在 <stdlib.h>中被定义。

要求

例程

必需的标头

ldiv, lldiv

<stdlib.h>

有关其他兼容性信息,请参见兼容性

C 运行时库的所有版本。

示例

// crt_ldiv.c

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

int main( void )
{
   long x = 5149627, y = 234879;
   ldiv_t div_result;

   div_result = ldiv( x, y );
   printf( "For %ld / %ld, the quotient is ", x, y );
   printf( "%ld, and the remainder is %ld\n", 
            div_result.quot, div_result.rem );
}

Output

For 5149627 / 234879, the quotient is 21, and the remainder is 217168

.NET Framework 等效项

不适用。若要调用标准 C 函数,请使用 PInvoke。有关详细信息,请参阅平台调用示例

请参见

参考

浮点支持

div

imaxdiv