div_t - Linux


Overview

div_t divides an integer dividend by an integer divisor and returns a struct containing the quotient and the remainder. This command is commonly used in basic arithmetic operations and bitwise manipulations.

Syntax

#include <stdlib.h>

div_t div(int num, int denom);

Options/Flags

div has no options or flags.

Examples

Calculate Quotient and Remainder Using div:

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

int main() {
  int dividend = 23;
  int divisor = 5;

  div_t result = div(dividend, divisor);

  printf("Quotient: %d\n", result.quot);
  printf("Remainder: %d\n", result.rem);

  return 0;
}

Output:

Quotient: 4
Remainder: 3

Using div for Bitwise Operations:

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

int main() {
  int number = 15;  // binary: 1111

  div_t result = div(number, 2);

  printf("Number: %d (binary: %s)\n", number,
         result.quot % 2 == 0 ? "even" : "odd");

  return 0;
}

Output:

Number: 15 (binary: odd)

Common Issues

  • Division by zero: Trying to divide by zero using div results in undefined behavior. Use proper error handling to avoid this issue.

Integration

div can be used in combination with other commands for advanced operations. For example, it can be used with printf to format numeric output with specific formatting options.

Related Commands

  • ldiv: Similar to div but works with long integers (long int).
  • lldiv: Similar to div but works with long long integers (long long int).