名前空間
変種
操作

cbrt, cbrtf, cbrtl

提供: cppreference.com
< c‎ | numeric‎ | math
 
 
 
一般的な数学関数
関数
基本操作
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)(C99)(C99)
指数関数
(C99)
(C99)
冪関数
cbrt
(C99)
三角関数と双曲線関数
誤差関数とガンマ関数
(C99)
(C99)
(C99)
(C99)
最も近い整数
(C99)
(C99)(C99)(C99)
浮動小数点操作関数
(C99)(C99)
(C99)
(C99)
分類
(C99)
(C99)
(C99)
(C99)(C99)
マクロ定数
 
ヘッダ <math.h> で定義
float       cbrtf(float arg );
(1) (C99以上)
double      cbrt(double arg );
(2) (C99以上)
longdouble cbrtl(longdouble arg );
(3) (C99以上)
ヘッダ <tgmath.h> で定義
#define cbrt( arg )
(4) (C99以上)
1-3)arg の立方根を計算します。
4) 型総称マクロ。 arglongdouble 型の場合は cbrtl が呼ばれます。 そうでなく、 arg が整数型または double 型の場合は cbrt が呼ばれます。 そうでなければ cbrtf が呼ばれます。

目次

[編集]引数

arg - 浮動小数点値

[編集]戻り値

エラーが発生しなければ、 arg の立方根 (3arg) が返されます。

アンダーフローによる値域エラーが発生した場合、 (丸めた後の) 正確な値が返されます。

[編集]エラー処理

math_errhandling で規定されている通りにエラーが報告されます。

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

  • 引数が ±0 または ±∞ であれば、それが変更されずに返されます。
  • 引数が NaN であれば、 NaN が返されます。

[編集]ノート

有理数
1
3
は一般的に 1.0/3 と等しくなく、 std::pow は負の底に小数の指数を乗じることができないため、 cbrt(arg)pow(arg, 1.0/3) と同等ではありません。 また、 cbrt(arg) は通常 pow(arg, 1.0/3) よりも正確な結果を返します (例を参照してください)。

[編集]

#include <stdio.h>#include <float.h>#include <math.h>   int main(void){// normal useprintf("cbrt(729) = %f\n", cbrt(729));printf("cbrt(-0.125) = %f\n", cbrt(-0.125));// special valuesprintf("cbrt(-0) = %f\n", cbrt(-0.0));printf("cbrt(+inf) = %f\n", cbrt(INFINITY));// accuracyprintf("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));}

出力例:

cbrt(729) = 9.000000 cbrt(-0.125) = -0.500000 cbrt(-0) = -0.000000 cbrt(+inf) = inf cbrt(343) = 7.00000000000000000 pow(343,1.0/3) = 6.99999999999999911

[編集]参考文献

  • C11 standard (ISO/IEC 9899:2011):
  • 7.12.7.1 The cbrt functions (p: 247)
  • 7.25 Type-generic math <tgmath.h> (p: 373-375)
  • F.10.4.1 The cbrt functions (p: 524)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.12.7.1 The cbrt functions (p: 228)
  • 7.22 Type-generic math <tgmath.h> (p: 335-337)
  • F.9.4.1 The cbrt functions (p: 460)

[編集]関連項目

(C99)(C99)
xy 乗 (xy) を計算します
(関数)[edit]
(C99)(C99)
平方根 (x) を計算します
(関数)[edit]
(C99)(C99)(C99)
2つの値の二乗和の平方根 (x2
+y2
) を計算します
(関数)[edit]
close