nearbyint
, nearbyintf
, nearbyintl
Belirtilen kayan nokta değerini bir tamsayıya yuvarlar ve bu değeri kayan nokta biçiminde döndürür.
Sözdizimi
double nearbyint( double x );
float nearbyintf( float x );
long double nearbyintl( long double x );
#define nearbyint( X ) // Requires C11 or higher
float nearbyint( float x ); //C++ only
long double nearbyint( long double x ); //C++ only
Parametreler
x
Yuvarlanacak değer.
Dönüş değeri
Başarılı olursa, tarafından bildirilen fegetround
geçerli yuvarlama biçimini kullanarak en yakın tamsayıya yuvarlanmış olarak döndürürx
. Aksi takdirde işlev aşağıdaki değerlerden birini döndürebilir:
Sorun | İade |
---|---|
x = ±FINITY |
±INFINITY, değiştirilmemiş |
x = ±0 |
±0, değiştirilmemiş |
x = NaN |
NaN |
Hatalar ile bildirilmez _matherr
; özellikle de bu işlev herhangi bir FE_INEXACT
özel durum bildirmez.
Açıklamalar
Bu işlev ile bu işlev rint
arasındaki birincil fark, bu işlevin geçerli olmayan kayan nokta özel durumunu tetiklemiyor olmasıdır.
Maksimum kayan nokta değerleri tam tamsayılar olduğundan, bu işlev hiçbir zaman tek başına taşmayacaktır; bunun yerine çıkış, işlevin hangi sürümünü kullandığınıza bağlı olarak dönüş değerinin taşmasına neden olabilir.
C++ aşırı yüklemeye izin verir, böylece bu alma ve döndürme float
veya long double
parametrelerin nearbyint
aşırı yüklemelerini çağırabilirsiniz. C programında, bu işlevi çağırmak için tgmath.h> makrosunu <kullanmadığınız sürece her nearbyint
zaman iki çift değer alır ve çift değer döndürür.
tgmath.h>nearbyint()
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 .
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 |
---|---|---|
nearbyint , nearbyintf , nearbyintl |
<math.h> | <cmath> veya <math.h> |
nearbyint Makro |
<tgmath.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.