ilogbd32()、ilogbd64()、ilogbd128() - 整数非バイアス化指数

標準

標準/拡張機能 C/C++ 依存項目
C/C++ DFP 両方 z/OS® V1.8

形式

#define __STDC_WANT_DEC_FP__
#include <math.h>

int  ilogbd32(_Decimal32 x); 
int  ilogbd64(_Decimal64 x);
int  ilogbd128(_Decimal128 x);
int  ilogb(_Decimal32 x);   /* C++ only */
int  ilogb(_Decimal64 x);   /* C++ only */
int  ilogb(_Decimal128 x);  /* C++ only */

機能説明

その引数 x を非バイアス化した指数を 整数として戻します。典型的な数値は、最も近い整数値に切り捨てられた (-INF 方向) |x| の対数の戻り値です。
注 :
  1. IEEE 10 進数浮動小数点を使用するためには、ハードウェアに 10 進数浮動小数点機能 がインストールされている必要があります。
  2. これらの関数は、IEEE 10 進数浮動小数点形式で機能します。詳細は 「IEEE 10 進数浮動小数点」を参照してください。

戻り値

正常に実行された場合、これらの関数は x の非バイアス化した指数を整数として戻します。

x が 0.0 である場合、ilogb() は _FP_DEC_ILOGB0 (= -INT_MAX) を戻します。

x が NaN または無限大の場合、ilogb() は INT_MAX を戻します。

⁄* CELEBI11

   This example illustrates the ilogbd128() function.

*⁄

#define  __STDC_WANT_DEC_FP__
#include <math.h>
#include <stdio.h>

int main(void)
{
   _Decimal128 x = -12345.678901DL;
   int y;

   y = ilogbd128(x);

   printf("The result of ilogbd128(%DDf) is %d¥n", x, y);
}

関連情報