std::logb
提供:cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| 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とTargの浮動小数点型である。 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未満である指数部がestd::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'; }
Output:
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. (機能) |