std::logb
提供: cppreference.com
![]() |
このページは、Google 翻訳を使って英語版から機械翻訳されました。
翻訳には誤りや奇妙な言い回しがあるかもしれません。文章の上にポインタをおくと、元の文章が見れます。誤りを修正して翻訳を改善する手助けをしてください。翻訳についての説明は、ここをクリックしてください。 |
Defined in header <cmath>
|
||
float logb( float arg ); |
(C++11およびそれ以降) | |
double logb( double arg ); |
(C++11およびそれ以降) | |
long double logb( long double arg ); |
(C++11およびそれ以降) | |
double logb( Integral arg ); |
(C++11およびそれ以降) | |
浮動小数点引数
r|arg|の不可欠な部分であり、非ゼロの引数のため、どこ
arg
から指数の値を抽出し、浮動小数点値として返します。正式には、結果が符号付き浮動小数点値としてlogr|arg|の不可欠な部分であり、非ゼロの引数のため、どこ
r
ですstd::numeic_limits<T>::radixとT
arg
の浮動小数点型である。 arg
が非正規の場合は、それが標準化したかのように扱われます.Original:
Extracts the value of the exponent from the floating-point argument
r|arg| as a signed floating-point value, for non-zero arg, where
arg
, and returns it as a floating-point value. Formally, the result is the integral part of logr|arg| as a signed floating-point value, for non-zero arg, where
r
is std::numeic_limits<T>::radix and T
is the floating-point type of arg
. If arg
is subnormal, it is treated as though it was normalized.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
目次 |
[編集] パラメータ
arg | - | 浮動小数点値
Original: floating point value The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[編集] 値を返します
浮動小数点の指数.
Original:
The floating-point exponent.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
arg
がゼロの場合は領域エラーまたは範囲エラーが発生することがあります.Original:
Domain or range error may occur if
arg
is zero.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[編集] ノート
std::logbによって返さ指数std::frexpため、
|間
|です0.5間1.
e
、1〜std::logb(通常|arg*r-e|間
r
)、しかしのために:1によって返される指数の値は、常に異なるため、正規化要件の2によって再び調整指数が1未満である指数部がe
std::frexpによって返さ|arg*2-e|です0.5間1.
Original:
The value of the exponent returned by std::logb is always 1 less than the exponent retuned by std::frexp because of the different normalization requirements: for the exponent
| is between 1 and
| is between 0.5 and 1.
e
returned by std::logb, |arg*r-e| is between 1 and
r
(typically between 1 and 2), but for the exponent e
returned by std::frexp, |arg*2-e| is between 0.5 and 1.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[編集] 例
異なる浮動小数点分解機能を比較します
Original:
Compares different floating-point decomposition functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
このコードを実行します
#include <iostream> #include <cmath> #include <limits> int main() { double f = 123.45; std::cout << "Given the number " << f << " or " << std::hexfloat << f << std::defaultfloat << " in hex,\n"; double f3; double f2 = std::modf(f, &f3); std::cout << "modf() makes " << f3 << " + " << f2 << '\n'; int i; f2 = std::frexp(f, &i); std::cout << "frexp() makes " << f2 << " * 2^" << i << '\n'; i = std::ilogb(f); std::cout << "logb()/ilogb() make " << f/std::scalbn(1.0, i) << " * " << std::numeric_limits<double>::radix << "^" << std::ilogb(f) << '\n'; }
出力:
Given the number 123.45 or 0x1.edccccccccccdp+6 in hex, modf() makes 123 + 0.45 frexp() makes 0.964453 * 2^7 logb()/ilogb() make 1.92891 * 2^6
[編集] も参照してください
数値は仮数と2の力に分解する Original: decomposes a number into significand and a power of 2 The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (関数) | |
(C++11) |
数値の指数を抽出します Original: extracts exponent of the number The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (関数) |
(C++11) (C++11) |
累乗しFLT_RADIXによって数を乗算します Original: multiplies a number by FLT_RADIX raised to a power The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (関数) |