Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kayan noktalı bir sayıyı iki tamsayı gücüyle çarpar.
Sözdizimi
double ldexp(
double x,
int exp
);
float ldexpf(
float x,
int exp
);
long double ldexpl(
long double x,
int exp
);
#define ldexp(X, INT) // Requires C11 or later
float ldexp(
float x,
int exp
); // C++ only
long double ldexp(
long double x,
int exp
); // C++ only
Parametreler
x
Kayan nokta değeri.
exp
Tamsayı üssü.
Dönüş değeri
İşlevler ldexp başarılı olursa * 2exp değerini x döndürür. Taşmada ve işaretine xldexp bağlı olarak +/- HUGE_VALdöndürür; errno değer olarak ERANGEayarlanır.
ve olası hata dönüş değerleri hakkında errno daha fazla bilgi için bkz.errno , _doserrno, _sys_errlistve _sys_nerr.
Açıklamalar
C++ aşırı yüklemeye izin verdiğinden, bu alma float veya long double türlerinin ldexp aşırı yüklemelerini çağırabilirsiniz. C programında, bu işlevi çağırmak için tgmath.h makrosunu <kullanmadığınız sürece, ldexp her zaman bir double ve alır int ve döndürürdouble.>
tgmath.h>ldexp() 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
| Yordam | C üst bilgisi | C++ üst bilgisi |
|---|---|---|
ldexp, ldexpf, ldexpl |
<math.h> | <cmath> |
ldexp Makro |
<tgmath.h> |
Uyumluluk bilgileri için bkz . Uyumluluk.
Örnek
// crt_ldexp.c
#include <math.h>
#include <stdio.h>
int main( void )
{
double x = 4.0, y;
int p = 3;
y = ldexp( x, p );
printf( "%2.1f times two to the power of %d is %2.1f\n", x, p, y );
}
Çıktı
4.0 times two to the power of 3 is 32.0