ldexp, ldexpf, ldexpl

Mengalikan angka titik mengambang dengan kekuatan integral dua.

Sintaks

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 higher

float ldexp(
   float x,
   int exp
);  // C++ only
long double ldexp(
   long double x,
   int exp
);  // C++ only

Parameter

x
Nilai floating-point.

exp
Eksponen bilangan bulat.

Nilai hasil

Fungsi ldexp mengembalikan nilai x * 2exp jika berhasil. Pada luapan x, dan tergantung pada tanda , ldexp mengembalikan +/- HUGE_VAL; errno nilai diatur ke ERANGE.

Untuk informasi selengkapnya tentang errno dan kemungkinan nilai pengembalian kesalahan, lihat errno, , _sys_errlist_doserrno, dan _sys_nerr.

Keterangan

Karena C++ memungkinkan kelebihan beban, Anda dapat memanggil kelebihan beban yang ldexp mengambil float atau long double jenis. Dalam program C, kecuali Anda menggunakan <makro tgmath.h> untuk memanggil fungsi ini, ldexp selalu mengambil double dan int dan mengembalikan double.

Jika Anda menggunakan <makro tgmath.h>ldexp() , jenis argumen menentukan versi fungsi mana yang dipilih. Lihat Matematika generik jenis untuk detailnya.

Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.

Persyaratan

Rutin Header C Header C++
ldexp, ldexpf, ldexpl <matematika.h> <cmath>
ldexp makro <tgmath.h>

Untuk informasi kompatibilitas, lihat Kompatibilitas.

Contoh

// 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 );
}

Hasil

4.0 times two to the power of 3 is 32.0

Baca juga

Dukungan matematika dan titik mengambang
frexp
modf, modff, modfl