rint, rintf, rintl
Kayan nokta değerini kayan nokta biçiminde en yakın tamsayıya yuvarlar.
double rint( double x );
float rint( float x ); // C++ only
long double rint( long double x ); // C++ only
float rintf( float x );
long double rintl( long double x );
Parametreler
- x
Yuvarlanacak kayan nokta üs değeri.
Dönüş Değeri
rint işlevleri, x'e en yakın tamsayıyı temsil eden bir kayan nokta değeri döndürür.Kayan nokta yuvarlama modu, aynı geçerli ayarını göre yarısı değerleri yuvarlanır nearbyint işlevleri.Farklı olarak nearbyint İşlevler, rint işlevleri yükseltmek FE_INEXACT bağımsız değişken değeri sonucu farklılık varsa kayan nokta özel durum.Döndürülen hata yok.
Giriş |
SEH Özel Durumu |
_matherr Özel Durumu |
---|---|---|
± ∞, QNAN, ONRAKİNİ BUL |
yok |
yok |
Denormals |
EXCEPTION_FLT_UNDERFLOW |
yok |
Notlar
C++ aşırı yüklemeye izin verdiğinden, rint ve float değerlerini alan ve getiren long double aşırı yüklerini çağırabilirsiniz.C programında rint her zaman double alır ve döndürür.
Gereksinimler
İşlev |
C üstbilgisi |
C++ üstbilgisi |
---|---|---|
rint, rintf, rintl |
< math.h > |
< cmath > |
Ek uyumluluk bilgileri için bkz. Uyumluluk.
Örnek
// crt_rint.c
// Build with: cl /W3 /Tc crt_rint.c
// This example displays the rounded results of
// the floating-point values 2.499999, -2.499999,
// 2.8, -2.8, 2.5 and -2.5.
#include <math.h>
#include <stdio.h>
int main( void )
{
double x = 2.499999;
float y = 2.8f;
long double z = 2.5;
printf("rint(%f) is %.0f\n", x, rint (x));
printf("rint(%f) is %.0f\n", -x, rint (-x));
printf("rintf(%f) is %.0f\n", y, rintf(y));
printf("rintf(%f) is %.0f\n", -y, rintf(-y));
printf("rintl(%Lf) is %.0Lf\n", z, rintl(z));
printf("rintl(%Lf) is %.0Lf\n", -z, rintl(-z));
}
.NET Framework Eşdeğeri
Ayrıca bkz.
Başvuru
lround, lroundf, lroundl, llround, llroundf, llroundl