frexp (マクロ)
パッケージ: CURL.LANGUAGE.COMPILER

浮動小数点または数量値を、正規化仮数と指数に分離します。

シグネチャ

{frexp value}:(fraction, exponent:int)
value: 正規化仮数と指数に分離される値。これは、浮動小数点、または数量値として評価する式の場合もあります。

戻り値

最初の戻り値は fraction で、value の正規化仮数成分です。fraction の型は value の型と同じです。

2 番目の戻り値は、2 の累乗のスケール因数で、fraction に 2 の exponent 乗を掛けたものが value と等しくなります。

説明

有限数の非ゼロ値の場合、fraction は常に 0.5 (含む)から 1.0 (含まない)の範囲の値で、入力値の符号とデータ型を保持します。返される exponent は、2 の累乗のスケール因数で、fraction に 2 の exponent 乗を掛けたものがオリジナルの値と等しくなります。

ゼロ、有限数、および nan 値の場合、fraction ではオリジナルの入力値が返され、返された exponent はゼロになります。

ldexp および logb も参照してください。


例: frexp を各種の値と共に使用
{br} {let (a:any, b:any) = {frexp 30s}}
{br} frexp 30s -> {value a} and {value b}
{br} {let (c:any, d:any) = {frexp 1.384e20}}
{br} frexp 1.384e20 -> {value c} and {value d}
{br} {let (f:any, g:any) = {frexp 1.384e-20}}
{br} frexp 1.384e-20 -> {value f} and {value g}