Yuvarlama İşlevleri
Önceki Aritmetik İşlevleri Sonraki
Yuvarlama İşlevleri
Burada listelenen işlevler gerçek sayıları yuvarlamak ya da ondalık kısmını kırpmak gibi işlemleri gerçekleştirirler. Bu işlevlerden bazıları gerçek sayıları tamsayılara dönüştürmek için kullanılır. Bu işlevler math.h[98] başlık dosyasında bildirilmiştir.
Gerçek sayıları tamsayılara dönüştürmek için ayrıca int türüne tür dönüşümü yapabilirsiniz. Bu gerçek sayının ondalık kısmını iptal eder, daha doğrusu sıfıra yuvarlar. Ancak, sonuç gerçekte int türünde gösterilebiliyorsa bu çalışır--çok büyük sayılarda bu mümkün olmaz. Burada listelenen işlevler bu sorunun çevresinden dolaşmak için sonucu double türünde döndürüler.
double ceil
(double x)
float ceilf
(float x)
long double ceill
(long double x)
işlev
Bu işlevler x sayısını en yakın büyük tamsayıya yuvarlar ve sonucu gerçek sayı türünde döndürür. ceil (1.5) çağrısı 2.0 değerini döndürür.
double floor
(double x)
float floorf
(float x)
long double floorl
(long double x)
işlev
Bu işlevler x sayısını en yakın küçük tamsayıya yuvarlar ve sonucu gerçek sayı türünde döndürür. floor (1.5) çağrısı 1.0 ile ve floor (-1.5) çağrısı -2.0 ile döner.
double trunc
(double x)
float truncf
(float x)
long double truncl
(long double x)
işlev
Bu işlevler x sayısını sıfıra doğru en yakın tamsayıya yuvarlar ve sonucu gerçek sayı türünde döndürür. trunc (1.5) çağrısı 1.0 ile ve trunc (-1.5) çağrısı -1.0 ile döner.
double rint
(double x)
float rintf
(float x)
long double rintl
(long double x)
işlev
Bu işlevler x sayısını o anki yuvarlama kipine uygun olarak bir tamsayıya yuvarlar. Çeşitli yuvarlama kipleri hakkında bilgi almak için Gerçek Sayılar ile İlgili Makrolar bölümüne bakınız. Öntanımlı yuvarlama kipi en yakın tamsayıya yuvarlamadır; bazı makineler diğer kipleri destekleyebilir ama açıkça başka bir kip belirtilmedikçe daima en yakına yuvarlama kipi kullanılır.
x sayısının baş tarafı bir tamsayı değilse, bu işlevler kesin olmama olağandışılığı oluşturur.
double nearbyint
(double x)
float nearbyintf
(float x)
long double nearbyintl
(long double x)
işlev
Bu işlevler rint işlevleri ile aynı değeri döndürür ama x'in baş tarafı bir tamsayı değilse, kesin olmama olağandışılığını oluşturmaz.
double round
(double x)
float roundf
(float x)
long double roundl
(long double x)
işlev
Bu işlevler rint işlevlerine benzer, farklı olarak x'in işaretiyle, ondalık kısmın 1/2'den (dahil) büyük değerlerini en yakın büyük mutlak tamsayıya, 1/2'den küçük değerlerini en yakın küçük mutlak tamsayıya yuvarlar.
long int lrint
(double x)
long int lrintf
(float x)
long int lrintl
(long double x)
işlev
Bu işlevler rint işlevlerine benzer, fakat bir gerçek sayı yerine bir long int türünde değerle döner.
long long int llrint
(double x)
long long int llrintf
(float x)
long long int llrintl
(long double x)
işlev
Bu işlevler rint işlevlerine benzer, fakat bir gerçek sayı yerine bir long long int türünde değerle döner.
long int lround
(double x)
long int lroundf
(float x)
long int lroundl
(long double x)
işlev
Bu işlevler round işlevlerine benzer, fakat bir gerçek sayı yerine bir long int türünde değerle döner.
long long int llround
(double x)
long long int llroundf
(float x)
long long int llroundl
(long double x)
işlev
Bu işlevler round işlevlerine benzer, fakat bir gerçek sayı yerine bir long long int türünde değerle döner.
double modf
(double  değer,
 double *tamkısım)
float modff
(float  değer,
 float *tamkısım)
long double modfl
(long double  değer,
 long double *tamkısım)
işlev
Bu işlevler değer gerçek sayısını tam ve ondalık kısımlarına (-1 ile 1 arasında) ayırır. Toplamları değer'e eşittir. Her iki kısmın işareti de değer'in işareti ile aynıdır. Tam kısım daima sıfıra yuvarlanır.
modf sayının tamsayı kısmını *tamkısım içinde saklayıp ondalık kısım ile döner. Örneğin, modf (2.5, &intpart) çağrısı 0.5 ile dönerken intpart içine 2.0 değerini yerleştirir.


[98] Ç.N.: Bu işlevleri içeren bir kodu gcc ile derlerken -lm seçeneğini vermeyi unutmayın.
Önceki Üst Ana Başlık Sonraki
Normalleştirme İşlevleri Başlangıç Kalan İşlevleri
Bir Linux Kitaplığı Sayfası