Bagikan melalui


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_RADIXx * 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

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

Hasil

6.4 times FLT_RADIX to the power of 3 is 51.2

Baca juga

Dukungan matematika dan titik mengambang
frexp
ldexp
modf, modff, modfl