scalbn
, , scalbnf
scalbnl
, scalbln
, , scalblnf
,scalblnl
Mengalikan angka titik mengambang dengan kekuatan integral .FLT_RADIX
Sintaks
double scalbn(
double x,
int exp
);
float scalbn(
float x,
int exp
); // C++ only
long double scalbn(
long double x,
int exp
); // C++ only
float scalbnf(
float x,
int exp
);
long double scalbnl(
long double x,
int exp
);
#define scalbn(X, INT) // Requires C11 or higher
double scalbln(
double x,
long exp
);
float scalblnf(
float x,
long exp
);
long double scalblnl(
long double x,
long exp
);
#define scalbln(X, LONG) // Requires C11 or higher
float scalbln(
float x,
long exp
); // C++ only
long double scalbln(
long double x,
long exp
); // C++ only
Parameter
x
Nilai floating-point.
exp
Eksponen bilangan bulat.
Nilai hasil
Fungsi scalbn
mengembalikan nilaiFLT_RADIX
x
* exp ketika berhasil. Pada luapan x
(tergantung pada tanda ), scalbn
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
FLT_RADIX
didefinisikan dalam <float.h> sebagai radix floating-point asli; pada sistem biner, ia memiliki nilai 2, dan scalbn
setara dengan ldexp
.
Karena C++ memungkinkan kelebihan beban, Anda dapat memanggil scalbn
dan scalbln
kelebihan beban yang mengambil dan mengembalikan float
atau long double
jenis. Dalam program C, kecuali Anda menggunakan <makro tgmath.h> untuk memanggil fungsi ini, scalbn
selalu mengambil double
dan int
dan mengembalikan double
, dan scalbln
selalu mengambil double
dan long
dan mengembalikan double
.
Jika Anda menggunakan <tgmath.h>scalbn()
atau scalbln
makro, 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
Fungsi | Header C | Header C++ |
---|---|---|
scalbn , , scalbnf scalbnl , scalbln , , scalblnf ,scalblnl |
<matematika.h> | <cmath> |
scalbn atau scalbln makro |
<tgmath.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
// crt_scalbn.c
// Compile using: cl /W4 crt_scalbn.c
#include <math.h>
#include <stdio.h>
int main( void )
{
double x = 6.4, y;
int p = 3;
y = scalbn( x, p );
printf( "%2.1f times FLT_RADIX to the power of %d is %2.1f\n", x, p, y );
}
Output
6.4 times FLT_RADIX to the power of 3 is 51.2
Lihat juga
Dukungan matematika dan titik mengambang
frexp
ldexp
modf
, , modff
modfl