Scroll to navigation

DIV(3) Podręcznik programisty Linuksa 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ŁAD

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.04 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 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

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

15 marca 2016 r.