div, ldiv, lldiv, imaxdiv - počítá podíl a zbytek při celočíselném dělení
Standardní knihovna C (libc, -lc)
#include <stdlib.h>
div_t div(int numerator, int denominator);
ldiv_t ldiv(long numerator, long denominator);
lldiv_t lldiv(long long numerator, long long denominator);
#include <inttypes.h>
imaxdiv_t imaxdiv(intmax_t numerator, intmax_t denominator);
lldiv():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
Funkce div() počítá hodnotu numerator/denominator a vrací podíl a zbytek ve struktuře div_t, která obsahuje dvě celočíselné složky quot a rem, kde quot obsahuje podíl a rem obsahuje zbytek. Podíl je zaokrouhlen k nule. Výsledek vyhovuje rovnici quot*denominator+rem = numerator.
Funkce ldiv(), lldiv() a imaxdiv() dělají to samé. Dělí čísla odpovídajících typů a vrací výsledek ve struktuře daného jména. Ve všech případech má struktura pole qout a rem stejného typu jako jsou parametry.
The div_t (etc.) structure.
Vysvětlení pojmů použitých v této části viz attributes(7)EN.
| Rozhraní | Atribut | Hodnota |
| div(), ldiv(), lldiv(), imaxdiv() | Thread safety | MT-Safe |
POSIX.1-2001, POSIX.1-2008, C99, SVr4, 4.3BSD. The functions lldiv() and imaxdiv() were added in C99.
After
div_t q = div(-5, 3);
the values q.quot and q.rem are -1 and -2, respectively.