名前
div, ldiv, lldiv, imaxdiv - integer 型の割算の商と余りを計算する書式
#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);
glibc
向けの機能検査マクロの要件
( feature_test_macros(7) 参照):
lldiv():
_ISOC99_SOURCE ||
_POSIX_C_SOURCE >= 200112L
説明
div() 関数は numerator/denominator の値を計算する。 商と余りは、 quot (商) と rem (余り) という名前の 2 つの integer 型メンバを含む div_t という構造体の中に返される (メンバの順番は不定である)。 商は 0 に近い方に丸められる。 結果は quot*denominator+rem = numerator を満たす。 ldiv(), lldiv(), imaxdiv() 関数は同様な動作をし、 上に示した型の数値を割算して、上に示した名前の構造体に結果を返す。 どの場合でもフィールド quot と rem は、 関数の引数と同じ型である。返り値
div_t (などの) 構造体。属性
この節で使用されている用語の説明については、 attributes(7) を参照。インターフェース | 属性 | 値 |
div(), ldiv(), lldiv(), imaxdiv() | Thread safety | MT-Safe |
準拠
POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD. 関数 lldiv() と imaxdiv() は C99 に追加された。例
以下の式を計算すると、div_t q = div(-5, 3);
q.quot と q.rem はそれぞれ -1 と -2 になる。
関連項目
abs(3), remainder(3)この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。2020-06-09 |