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 );
}
Output
4.0 times two to the power of 3 is 32.0
Lihat juga
Dukungan matematika dan titik mengambang
frexp
modf
, , modff
modfl