Normalleştirme İşlevleri
Önceki Aritmetik İşlevleri Sonraki
Normalleştirme İşlevleri
Bu bölümde, dahili olarak bir ikilik üs değeri kullanarak gösterilen kayan noktalı sayıların düşük seviyeli işlemlerini verimli bir yöntem olarak sağlayan işlevlere öncelikle yer verilmiştir; bkz. Gerçek Sayı Gösterimi ile İlgili Kavramlar. Bu işlevlerin, gösterim ikilik üs kullanmıyorsa bile eşdeğer davranış göstermeleri gerekir, fakat şüphesiz bunlar bu durumların tersi durumlarda kısmen bile verimli olmaz.
Bu bölümdeki işlevlerin hepsi math.h dosyasında bildirilmiştir.
double frexp
(double değer,
 int   *üs)
float frexpf
(float değer,
 int  *üs)
long double frexpl
(long double değer,
 int        *üs)
işlev
Bu işlevler değer ile belirtilen sayıyı normalleştirilmiş ondalık kısım ile üstel kısıma ayırır.
Eğer değer argümanı sıfır değilse, 2 üssü *üs ile işlevin dönüş değerinin çarpımı, değer'i verir. İşlevin dönüş değeri daima 1/2 (dahil) ile 1 (hariç) arasındadır. Üstel kısım *üs içinde saklanır.
Örneğin, frexp (12.8, &exponent) çağrısı 0.8 ile döner ve exponent içinde 4 değerini saklar.
değer sıfır ise işlev sıfırla döner ve *üs içinde sıfır saklanır.
double ldexp
(double değer,
 int   *üs)
float ldexpf
(float değer,
 int  *üs)
long double ldexpl
(long double değer,
 int        *üs)
işlev
Bu işlev, değer gerçek sayısının 2 üssü üs ile çarpımını döndürür. (Bu işlev, frexp işlevinden dönen parçalarla gerçek sayıları yeniden elde etmek amacıyla kullanılabilir.)
Örneğin, ldexp (0.8, 4) çağrısı 12.8 ile döner.
Aşağıdaki işlevler BSD'den gelir ve ldexp ve frexp işlevlerinin eşdeğeri oluşumlardır. Ayrıca, ISO C işlevi olan, aynı zamanda da orjinal olarak bir BSD işlevi olan logb işlevine de bakınız.
double scalb
(double değer,
 int   *üs)
float scalbf
(float değer,
 int  *üs)
long double scalbl
(long double değer,
 int        *üs)
işlev
scalb işlevi ldexp işlevinin BSD ismidir.
long long int scalbn
(double   x,
 long int n)
long long int scalbnf
(float    x,
 long int n)
long long int scalbnl
(long double x,
 long int    n)
işlev
scalbn işlevi, n üssünün bir gerçek sayı değil int türünde bir değer olması dışında scalb işlevinin benzeridir.
long long int scalbln
(double x,
 int    n)
long long int scalblnf
(float x,
 int   n)
long long int scalblnl
(long double x,
 int         n)
işlev
scalbln işlevi, n üssünün bir gerçek sayı değil long int türünde bir değer olması dışında scalb işlevinin benzeridir.
long long intsignificand
(double x)
long long int significandf
(float x)
long long intsignificandl
(long double x)
işlev
significand işlevi x'in ondalık kısmını [1, 2] aralığında oranlayarak döndürür. scalb (x, (double) -ilogb (x)) çağrısına denktir.
Bu işlev esas olarak IEEE 754 uyumlu standartlaştırılmış belli sınamalarda kullanmak için vardır.
Önceki Üst Ana Başlık Sonraki
Mutlak Değer Başlangıç Yuvarlama İşlevleri
Bir Linux Kitaplığı Sayfası