次の方法で共有


ldiv、lldiv

1 つの演算として、2 つの整数の商と剰余を計算します。

ldiv_t ldiv(
   long numer,
   long denom 
);
lldiv_t lldiv(
   long long numer,
   long long denom 
);

パラメーター

  • numer
    分子。

  • denom
    分母。

戻り値

ldiv は、商と剰余の両方で構成される ldiv_t 型の構造体を返します。 lldiv は、商と剰余の両方で構成される lldiv_t 型の構造体を返します。

解説

ldiv 関数および lldiv 関数は、numer を denom で割り、商と剰余を計算します。 商の符号は、数学的な商の符号と同じです。 商の絶対値が最も大きい整数であり、数学的な商の絶対値よりも小さくなります。 分母が 0 の場合、プログラムはエラー メッセージにより終了します。 ldiv の引数および返される構造体のメンバーはすべて long 型であり、lldiv の引数および返される構造体のメンバーは long long 型であることを除き、ldiv および lldivdiv と同じです。

ldiv_t および lldiv_t の構造体は、<stdlib.h> で定義されます。

必要条件

ルーチン

必須ヘッダー

ldiv, lldiv

<stdlib.h>

互換性の詳細については、「互換性」を参照してください。

ライブラリ

C ランタイム ライブラリのすべてのバージョン。

使用例

// crt_ldiv.c

#include <stdlib.h>
#include <math.h>
#include <stdio.h>

int main( void )
{
   long x = 5149627, y = 234879;
   ldiv_t div_result;

   div_result = ldiv( x, y );
   printf( "For %ld / %ld, the quotient is ", x, y );
   printf( "%ld, and the remainder is %ld\n", 
            div_result.quot, div_result.rem );
}

出力

For 5149627 / 234879, the quotient is 21, and the remainder is 217168

同等の .NET Framework 関数

使用できません。標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。

参照

関連項目

浮動小数点サポート

div

imaxdiv