標準/拡張機能 | C/C++ | 依存項目 |
---|---|---|
ISO C |
両方 |
#include <stdlib.h>
ldiv_t ldiv(long int numerator, long int denominator);
numerator を denominator で割った商および剰余を計算します。
商 long int quot と剰余 long int rem の両方を 含む ldiv_t 型の構造体を戻します。
値を表せない場合は、未定義な戻り値が戻される結果となります。denominator が 0 の場合は、ゼロ除算例外が起こります。
⁄* CELEBL03
This example uses the &ldiv. function to calculate the
quotients and remainders for a set of two dividends and two
divisors.
*⁄
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
long int num[2] = {45,-45};
long int den[2] = {7,-7};
ldiv_t ans; ⁄* ldiv_t is a struct type containing two long ints:
'quot' stores quotient; 'rem' stores remainder *⁄
short i,j;
printf("Results of long division:¥n");
for (i = 0; i < 2; i++)
for (j = 0; j < 2; j++)
{
ans = ldiv(num[i], den[j]);
printf("Dividend: %6ld Divisor: %6ld", num[i], den[j]);
printf(" Quotient: %6ld Remainder: %6ld¥n", ans.quot, ans.rem);
}
}
Results of long division:
Dividend: 45 Divisor: 7 Quotient: 6 Remainder: 3
Dividend: 45 Divisor: -7 Quotient: -6 Remainder: 3
Dividend: -45 Divisor: 7 Quotient: -6 Remainder: -3
Dividend: -45 Divisor: -7 Quotient: 6 Remainder: -3