Aracılığıyla paylaş


imaxdiv

Herhangi bir boyuttaki iki tamsayı değerinin bölümünü ve geri kalanını tek bir işlem olarak hesaplar.

Sözdizimi

imaxdiv_t imaxdiv(
   intmax_t numer,
   intmax_t denom
);

Parametreler

numer
Pay.

denom
Payda.

Dönüş değeri

imaxdiv, türündeki intmax_tbağımsız değişkenlerle çağrılır, bölümü ve kalan bölümü oluşturan bir tür imaxdiv_t yapısı döndürür.

Açıklamalar

imaxdiv işlevi ölçütüne göre bölünür numer denom ve böylece bölüm ile geri kalanı hesaplar. Yapı imaxdiv_t , bölüm, intmax_t quotve kalan intmax_t remöğesini içerir. Bölüm işareti, matematiksel bölüm işaretiyle aynıdır. Mutlak değeri, matematik bölümünün mutlak değerinden küçük olan en büyük tamsayıdır. Payda 0 ise, program bir hata iletisiyle sonlanır.

Gereksinimler

Yordam Gerekli başlık
imaxdiv <inttypes.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

// crt_imaxdiv.c
// Build using: cl /W3 /Tc crt_imaxdiv.c
// This example takes two integers as command-line
// arguments and calls imaxdiv to divide the first
// argument by the second, then displays the results.

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

int main(int argc, char *argv[])
{
   intmax_t x,y;
   imaxdiv_t div_result;

   x = atoll(argv[1]);
   y = atoll(argv[2]);

   printf("The call to imaxdiv(%lld, %lld)\n", x, y);
   div_result = imaxdiv(x, y);
   printf("results in a quotient of %lld, and a remainder of %lld\n\n",
          div_result.quot, div_result.rem);
}

derlendiğinde ve komut satırı parametreleriyle 9460730470000000 8766çağrıldığında kod şu çıkışı oluşturur:

The call to imaxdiv(9460730470000000, 8766)
results in a quotient of 1079252848505, and a remainder of 5170

Ayrıca bkz.

Matematik ve kayan nokta desteği
div
ldiv, lldiv