C++ cinttypes::div() Function



The std::cinttypes::div() function in C++, performs a division of two integers and returns both the quotient and remainder as a structure.

The div() function is type-specific such as div() for int, ldiv() for long, lldiv() for long long. The result is returned as a div_t, ldiv_t, or lldiv_t structure containing quotient and remainder.

Syntax

Following is the syntax for std::cinttypes::div() function.

div( int x, int y );
or
div( long x, long y );

Parameters

  • x, y − It indicates the integer value.

Return value

This function returns the result of the operation.

Example 1

Let's look at the following example, where we are going to consider the basic integer division.

#include <iostream>
#include <cstdlib>
#include <cinttypes>
int main() {
   int x1 = 9;
   int x2 = 3;
   div_t z = div(x1, x2);
   std::cout << "x: " << z.quot << ", x: " << z.rem << '\n';
   return 0;
}

Output

Output of the above code is as follows −

x: 3, x: 0

Example 2

Consider the following example, where we are going to check the division validity.

#include <iostream>
#include <cstdlib>
#include <cinttypes>
int main() {
   int x1 = 21;
   int x2 = 0;
   if (x2 != 0) {
      div_t z = div(x1, x2);
      std::cout << "x: " << z.quot << ", y: " << z.rem << '\n';
   } else {
      std::cout << "Error: Division by zero is not allowed.\n";
   }
   return 0;
}

Output

Following is the output of the above code −

Error: Division by zero is not allowed.
cpp_cinttypes.htm
Advertisements