div(3) Library Functions Manual div(3)

div, ldiv, lldiv, imaxdiv - obliczanie ilorazu oraz reszty dzielenia liczb całkowitych

Standardowa biblioteka 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);
Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

lldiv():

    _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

Funkcja div() oblicza wartość numerator/denominator, a następnie zwraca iloraz i resztę w strukturze div_t, która zawiera dwa elementy całkowite (w nieokreślonym porządku) nazwane quot i rem. Iloraz jest zaokrąglany w kierunku zera. Wynik spełnia następującą równość: quot*denominator+rem = numerator.

Funkcje ldiv(), lldiv() i imaxdiv() robią to samo, dzieląc liczby wskazanych typów i zwracając wynik w strukturze o wskazanej nazwie. We wszystkich przypadkach pola quot i rem są takiego samego typu, jak argumenty funkcji.

Struktura div_t (itp.).

Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).

Interfejs Atrybut Wartość
div(), ldiv(), lldiv(), imaxdiv() Bezpieczeństwo wątkowe MT-bezpieczne

C11, POSIX.1-2008.

POSIX.1-2001, C89, C99, SVr4, 4.3BSD.

lldiv() and imaxdiv() were added in C99.

Po


div_t q = div(-5, 3);

wartości q.quot oraz q.rem wynoszą odpowiednio -1 i -2.

abs(3), remainder(3)

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Adam Byrtek <alpha@irc.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

31 października 2023 r. Linux man-pages 6.06