共用方式為


scalbn、scalbnf、scalbnl、scalbln、scalblnf、scalblnl

將浮點數與 FLT_RADIX 的整數冪相乘。

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 ); double scalbln(    double x,    long exp  ); float scalbln(    float x,    long exp );  // C++ only long double scalbln(    long double x,    long exp );  // C++ only  float scalblnf(    float x,    long exp );  long double scalblnl(    long double x,    long exp );

參數

  • x
    浮點值。

  • exp
    整數指數。

傳回值

若成功,scalbn 函數會傳回 x * FLT_RADIXexp 的值。 溢位 (根據 x 的符號) 時,scalbn 會傳回 +/– HUGE_VALerrno 值會設為 ERANGE

如需有關 errno 和其他可能的錯誤傳回值的詳細資訊,請參閱 errno、_doserrno、_sys_errlist 和 _sys_nerr

備註

FLT_RADIX 定義在 <float.h> 作為原生浮點基數;在二進位系統中,其具有 2 的值,且 scalbn 相當於 ldexp

因為 C++ 允許多載,所以您可以呼叫採用並傳回 float 或 long double 類型的 scalbnscalbln 的多載。 在 C 程式中,scalbn 會一律採用 double 及 int,並傳回 double,而 scalbln 會一律採用 double 及 long,並傳回 double。

需求

函式

C 標頭

C++ 標頭

scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnl

<math.h>

<cmath>

如需其他相容性資訊,請參閱 相容性

範例

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

輸出

6.4 times FLT_RADIX to the power of 3 is 51.2

.NET Framework 對等用法

System::Math::Pow

請參閱

參考

浮點支援

frexp

ldexp

modf、modff