DIV(3)

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

SKŁADNIA
#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

OPIS
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.

WARTOŚĆ ZWRACANA
Struktura div_t (itp.).

ATRYBUTY
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-Safe

ZGODNE Z
POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD. Funkcje lldiv() i imaxdiv() zostały dodane w C99.

PRZYKŁADY
Po

    div_t q = div(-5, 3);

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

ZOBACZ TAKŻE
abs(3), remainder(3)

O STRONIE
Angielska wersja tej strony pochodzi z wydania 5.13 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

TŁUMACZENIE
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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.