trunc
, truncf
, truncl
Belirtilen kayan nokta değerinden küçük veya buna eşit en yakın tamsayıyı belirler.
Sözdizimi
double trunc( double x );
long double truncl( long double x );
#define trunc(X) // Requires C11 or higher
long double trunc( long double x ); //C++ only
float trunc( float x ); //C++ only
Parametreler
x
Kesecek değer.
Dönüş değeri
Başarılı olursa, işlevler sıfıra yuvarlanmış bir tamsayı değeri x
döndürür.
Aksi takdirde, işlevler aşağıdaki değerlerden birini döndürebilir:
Sorun | İade |
---|---|
x = ±FINITY |
x |
x = ±0 |
x |
x = NaN |
NaN |
Hatalar içinde _matherr
belirtildiği gibi bildirilir.
Açıklamalar
C++ aşırı yüklemeye izin verdiğinden, bu alma ve dönüş float
ile long double
türlerinin trunc
aşırı yüklemelerini çağırabilirsiniz. C programında, bu işlevi çağırmak için tgmath.h makrosunu <kullanmıyorsanız, trunc
her zaman bir double
alır ve döndürür.>
tgmath.h>trunc()
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 .
En büyük kayan nokta değerleri tam tamsayılar olduğundan, bu işlev kendi başına taşmayacaktır. Ancak, bir değeri tamsayı türüne döndürerek işlevin taşmasına neden olabilirsiniz.
Kayan noktadan tam sayıya örtük olarak dönüştürerek de aşağı yuvarlayabilirsiniz; ancak bunu yapmak, hedef türde depolanabilecek değerlerle sınırlıdır.
Gereksinimler
İşlev | C üst bilgisi | C++ üst bilgisi |
---|---|---|
trunc , truncf , truncl |
<math.h> | <cmath> |
trunc Makro |
<tgmath.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Ayrıca bkz.
Alfabetik işlev başvurusu
floor
, floorf
, floorl
ceil
, ceilf
, ceill
round
, roundf
, roundl