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 x
döndürür.
Sorun | İade |
---|---|
x dönüş türü aralığının dışındax = ±INFx = 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 double
almadığı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.