名前空間
変種
操作

cbrt, cbrtf, cbrtl

From cppreference.com
< c‎ | numeric‎ | math
 
 
 
共通の数学関数
関数
基本的な数学関数
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
最大/最小演算
(C99)
(C99)
指数関数
(C23)
(C99)
(C99)
(C23)
(C23)

(C99)
(C99)(C23)
(C23)
(C23)
べき乗関数
cbrt
(C99)
(C23)
(C23)

(C99)
(C23)
(C23)
三角関数と双曲線関数
(C23)
(C23)
(C23)
(C23)
(C99)
(C99)
(C99)
最も近い整数浮動小数点数
(C99)(C99)(C99)
(C99)

(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
浮動小数点操作
(C99)(C99)
(C99)(C23)
(C99)
縮小演算
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
量子および量子指数
Decimal再エンコーディング関数
総順序およびペイロード関数
分類
(C99)
(C99)
(C99)
(C23)
誤差関数とガンマ関数
(C99)
(C99)
(C99)
(C99)
マクロ定数
特殊な浮動小数点値
(C99)(C23)
引数と戻り値
エラーハンドリング
高速演算インジケータ
 
ヘッダー <math.h> で定義
float       cbrtf( float arg );
(1) (C99以降)
double      cbrt( double arg );
(2) (C99以降)
long double cbrtl( long double arg );
(3) (C99以降)
ヘッダー <tgmath.h> で定義
#define cbrt( arg )
(4) (C99以降)
1-3) arg の立方根を計算します。
4) 型汎用マクロ: arg の型が long double の場合、cbrtl が呼び出されます。そうでなく、arg の型が整数型または double の場合、cbrt が呼び出されます。それ以外の場合、cbrtf が呼び出されます。

目次

[編集] パラメータ

arg - floating-point value

[編集] 戻り値

エラーが発生しなかった場合、arg の立方根(3arg)が返されます。

アンダーフローによる範囲エラーが発生した場合、正確な結果 (丸め後) が返される。

[編集] エラー処理

math_errhandling で指定されたとおりにエラーが報告されます。

実装がIEEE浮動小数点算術 (IEC 60559) をサポートしている場合、

  • 引数が ±0 または ±∞ の場合、変更されずに返されます。
  • 引数が NaN の場合、NaN が返されます。

[編集] 注意

cbrt(arg)pow(arg, 1.0/3) と同等ではありません。なぜなら、有理数
1
3
は通常 1.0/3 と等しくなく、std::pow は負の基数を分数指数で累乗できないからです。さらに、cbrt(arg) は通常、pow(arg, 1.0/3) よりも正確な結果を生成します(例を参照)。

[編集]

#include <float.h>
#include <math.h>
#include <stdio.h>
 
int main(void)
{
    printf("Normal use:\n"
           "cbrt(729)      = %f\n", cbrt(729));
    printf("cbrt(-0.125)   = %f\n", cbrt(-0.125));
    printf("Special values:\n"
           "cbrt(-0)       = %f\n", cbrt(-0.0));
    printf("cbrt(+inf)     = %f\n", cbrt(INFINITY));
    printf("Accuracy:\n"
           "cbrt(343)      = %.*f\n", DBL_DECIMAL_DIG, cbrt(343));
    printf("pow(343,1.0/3) = %.*f\n", DBL_DECIMAL_DIG, pow(343, 1.0/3));
}

実行結果の例

Normal use:
cbrt(729)      = 9.000000
cbrt(-0.125)   = -0.500000
Special values:
cbrt(-0)       = -0.000000
cbrt(+inf)     = inf
Accuracy:
cbrt(343)      = 7.00000000000000000
pow(343,1.0/3) = 6.99999999999999911

[編集] 参照

  • C23標準 (ISO/IEC 9899:2024)
  • 7.12.7.1 The cbrt functions (p: TBD)
  • 7.25 Type-generic math <tgmath.h> (p: TBD)
  • F.10.4.1 The cbrt functions (p: TBD)
  • C17標準 (ISO/IEC 9899:2018)
  • 7.12.7.1 The cbrt functions (p: 180-181)
  • 7.25 型総称数学関数 <tgmath.h> (p: 272-273)
  • F.10.4.1 The cbrt functions (p: 381-)
  • C11標準 (ISO/IEC 9899:2011)
  • 7.12.7.1 The cbrt functions (p: 247)
  • 7.25 型総称数学関数 <tgmath.h> (p: 373-375)
  • F.10.4.1 The cbrt functions (p: 524)
  • C99標準 (ISO/IEC 9899:1999)
  • 7.12.7.1 The cbrt functions (p: 228)
  • 7.22 型総称数学関数 <tgmath.h> (p: 335-337)
  • F.9.4.1 The cbrt functions (p: 460)

[編集] 関連項目

(C99)(C99)
指定されたべき乗の数を計算する (xy)
(関数) [編集]
(C99)(C99)
平方根を計算する (x)
(関数) [編集]
(C99)(C99)(C99)
2つの与えられた数の平方の和の平方根を計算する (x2
+y2
)
(関数) [編集]
English 日本語 中文(简体) 中文(繁體)