Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】frexp()関数の使い方

frexp関数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

frexp関数は、浮動小数点数を仮数部と指数部に分解する数学関数です。Rubyでは、Mathモジュールに属しており、Math.frexp(x)のように呼び出して利用します。引数xには任意の浮動小数点数を指定します。この関数は、引数として与えられた浮動小数点数xを、仮数部mと指数部eに分解し、[m, e]という配列形式で返します。ここでいう仮数部mは、通常0.5以上1.0未満、または-1.0より大きく-0.5以下の範囲にあります。指数部eは整数で、元の数値xはm * (2**e)という関係が常に成り立ちます。例えば、Math.frexp(12.0)を実行すると、[0.75, 4]という配列が返されます。これは、0.75 * (2**4)、すなわち0.75 * 16が12.0となることを意味しています。frexp関数は、浮動小数点数の内部的な表現を深く理解する際や、特定の数値計算アルゴリズムで数値を2のべき乗でスケーリングする必要がある場面で活用されることがあります。

構文(syntax)

1mantissa, exponent = Math.frexp(123.45)

引数(parameters)

x

  • x: 浮動小数点数。この数値を正規化された値と指数に分解します。

戻り値(return)

Array

与えられた浮動小数点数を、仮数部と指数部に分解した配列を返します。配列の最初の要素は仮数部、2番目の要素は指数部です。

関連コンテンツ