Aracılığıyla paylaş


lrint, lrintf, lrintl, , llrint, llrintf, llrintl

Geçerli yuvarlama modunu ve yönünü kullanarak belirtilen kayan nokta değerini en yakın tam sayı değerine yuvarlar.

Sözdizimi

long int lrint(
   double x
);

long int lrint(
   float x
); //C++ only

long int lrint(
   long double x
); //C++ only

long int lrintf(
   float x
);

long int lrintl(
   long double x
);

long long int llrint(
   double x
);

long long int llrint(
   float x
); //C++ only

long long int llrint(
   long double x
); //C++ only

long long int llrintf(
   float x
);

long long int llrintl(
   long double x
);

#define lrint(X) // Requires C11 or higher

Parametreler

x
Yuvarlanacak değer.

Dönüş değeri

Başarılı olursa, yuvarlatılmış integral değerini xdöndürür.

Sorun İade
x dönüş türü aralığının dışında

x = ±INF

x = NaN
Sıfır (0) değerini yükseltir FE_INVALID ve döndürür.

Açıklamalar

C++ aşırı yüklemeye izin verdiğinden ve alma ve llrint float long double türleri için lrint aşırı yüklemeleri çağırabilirsiniz. Bir C programında, bu işlevi lrint çağırmak için tgmath.h> makrosunu <kullanmadığınız ve llrint her zaman bir doublealmadığınız sürece.

tgmath.h>llrint() makroyu <kullanırsanız, işlevin hangi sürümünün seçili olduğunu bağımsız değişkenin türü belirler. Ayrıntılar için bkz . Tür genel matematik .

Bir integral değerinin kayan nokta eşdeğerini temsil etmiyorsa x , bu işlevler oluşturur FE_INEXACT.

Microsoft'a özgü: Sonuç dönüş türü aralığının dışında olduğunda veya parametre bir NaN veya sonsuz olduğunda, dönüş değeri uygulama tanımlıdır. Microsoft derleyicisi sıfır (0) değeri döndürür.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Gereksinimler

İşlev C üst bilgisi C++ üst bilgisi
lrint, lrintf, lrintl, , llrint, llrintf, llrintl <math.h> <cmath>
lrint Makro <tgmath.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Ayrıca bkz.

Alfabetik işlev başvurusu