C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のMathF.Sqrt()メソッドの使い方をサンプルコード付きで解説

MathF.Sqrt()メソッドとは

C#のMathF.Sqrt()メソッドは、単精度浮動小数点数(float型)の値に対して平方根を計算するためのメソッドです。Math.Sqrt()double型を扱うのに対し、MathF.Sqrt()float型専用であり、ゲーム開発やグラフィックス処理など、パフォーマンスが重視される場面で活用されます。

構文

MathF.Sqrt()メソッドの構文は以下の通りです。

public static float Sqrt(float val);

引数 val には、平方根を求めたい数値を指定します。

戻り値の挙動

  • 正の数を渡した場合:その平方根を返します
  • 負の数を渡した場合:NaN(非数)を返します
  • NaNを渡した場合:NaNを返します
  • 0を渡した場合:0を返します

使用例1:正の数とNaNの場合

まず、正の数とNaNを引数に指定した場合の動作を見てみましょう。

using System;
public class Demo {
    public static void Main(){
        float val1 = 36f;
        float val2 = float.NaN;
        Console.WriteLine("MathF.Sqrt(val1) = " + MathF.Sqrt(val1));
        Console.WriteLine("MathF.Sqrt(val2) = " + MathF.Sqrt(val2));
    }
}

実行結果

MathF.Sqrt(val1) = 6
MathF.Sqrt(val2) = NaN

36の平方根である「6」が正しく出力され、NaNを渡した場合はそのままNaNが返されていることがわかります。

使用例2:負の数と0の場合

次に、負の数と0を引数に指定した場合の動作を確認します。

using System;
public class Demo {
    public static void Main(){
        float val1 = -121f;
        float val2 = 0f;
        Console.WriteLine("MathF.Sqrt(val1) = " + MathF.Sqrt(val1));
        Console.WriteLine("MathF.Sqrt(val2) = " + MathF.Sqrt(val2));
    }
}

実行結果

MathF.Sqrt(val1) = NaN
MathF.Sqrt(val2) = 0

ポイント解説

実行結果から、以下の重要な特徴が読み取れます。

  • 負の数(-121)を渡すと例外はスローされず、NaNが返されます。実数の範囲では負の数の平方根は定義されないためです。
  • 0を渡した場合は0がそのまま返されます。

負の数を扱いたい場合は、事前に値の符号をチェックするか、複素数を扱えるSystem.Numerics.Complex構造体の利用を検討するとよいでしょう。

  1. C#のMathF.Tanh()メソッドとは?構文と具体例でわかりやすく解説

    C#のMathF.Tanh()メソッドは、指定されたfloat型の値に対する双曲線正接(ハイパボリックタンジェント)を返すメソッドです。数学的な計算やグラフ描画、信号処理など、浮動小数点数を扱う場面で活用されます。この記事では、MathF.Tanh()メソッドの基本的な構文から、実際のコード例とその実行結果までをわかりやすく解説します。MathF.Tanh()メソッドの構文MathF.Tanh()メソッドの構文は以下の通りです。public static float Tanh (float val);引数 val には、双曲線正接を求めたい数値(float型)を指定します。戻り値として、その値

  2. C#のMathF.Tan()メソッドの使い方をサンプルコード付きで解説

    C#のMathF.Tan()メソッドは、指定されたfloat型の角度(ラジアン単位)に対する正接(タンジェント)を計算して返します。科学技術計算やグラフィックス処理など、三角関数の計算が必要な場面で活用できる便利なメソッドです。構文MathF.Tan()メソッドの構文は以下の通りです。public static float Tan (float val);パラメータ val には、正接を求めたい角度をラジアン単位で指定します。戻り値はfloat型です。使用例1:通常の値とNaNの場合まず、通常の数値とNaN(非数)を引数に渡した場合の動作を確認してみましょう。using System; pub