EN JA
DIV(3)
DIV(3) Linux Programmer's Manual DIV(3)

名前

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():
_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L;
 
or cc -std=c99

説明

div() 関数は numerator/ denominator の値を計算する。商と余りは、 quot (商) と rem (余り) という名前の 2 つの integer 型メンバを含む div_t という構造体の中に返される (メンバの順番は不定である)。商は 0 に近い方に丸められる。結果は quot* denominator+ rem = numerator を満たす。

ldiv(), lldiv(), imaxdiv() 関数は同様な動作をし、上に示した型の数値を割算して、上に示した名前の構造体に結果を返す。どの場合でもフィールド quotrem は、関数の引き数と同じ型である。

返り値

div_t (などの) 構造体。

準拠

SVr4, 4.3BSD, C89, C99. 関数 lldiv() と imaxdiv() は C99 に追加された。

以下の式を計算すると、


div_t q = div(-5, 3);


q.quotq.rem はそれぞれ-1 と-2 になる。

関連項目

abs(3), remainder(3)

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
2012-04-17