跳到主要内容

C++ div() 函数

div() 函数定义在 <cstdlib> 头文件中。

数学上,

quot * y + rem = x

div() 函数原型 [C++ 11 标准起]

div_t div(int x, int y);
ldiv_t div(long x, long y);
lldiv_t div(long long x, long long y);

它接受两个参数 xy,返回 x 除以 y 的整数商和余数。

quot 是表达式 x / y 的结果。余数 rem 是表达式 x % y 的结果。

div() 参数

  • x - 分子
  • y - 分母

div() 返回值

div() 函数返回类型为 div_tldiv_tlldiv_t 的结构体。这些结构体中的每一个都包含两个成员:quotrem。它们定义如下:

div_t:
struct div_t {
int quot;
int rem;
};

ldiv_t:
struct ldiv_t {
long quot;
long rem;
};

lldiv_t:
struct lldiv_t {
long long quot;
long long rem;
};

示例:C++ div() 函数

#include <iostream>
#include <cstdlib>
using namespace std;

int main() {

div_t result1 = div(51, 6);

cout << "51/6 的商 = " << result1.quot << endl;
cout << "51/6 的余数 = " << result1.rem << endl;

ldiv_t result2 = div(19237012L, 251L);

cout << "19237012L/251L 的商 = " << result2.quot << endl;
cout << "19237012L/251L 的余数 = " << result2.rem << endl;

return 0;
}

输出

51/6 的商 = 8
51/6 的余数 = 3
19237012L/251L 的商 = 76641
19237012L/251L 的余数 = 121