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

C#のMath.Abs()メソッドとは?絶対値を求める使い方と実行例を解説

C#のMath.Abs()メソッドは、指定した数値の絶対値を返すためのメソッドです。引数として指定できる数値は、decimal型、double型、16ビット符号付き整数(short型)など、さまざまな数値型に対応しています。

負の値を正の値に変換したい場合や、数値の大きさだけを比較したい場合などに便利なメソッドです。

double型の値に対するMath.Abs()の使用例

まずは、double型の数値に対してMath.Abs()メソッドを使い、絶対値を取得する例を見てみましょう。

using System;
class Demo {
    public static void Main(){
        Double val1 = 30.40;
        Double val2 = Double.MinValue;
        Double val3 = Double.MaxValue;
        Console.WriteLine("Absolute value of {0} : {1}", val1, Math.Abs(val1));
        Console.WriteLine("Absolute value of {0} : {1}", val2, Math.Abs(val2));
        Console.WriteLine("Absolute value of {0} : {1}", val3, Math.Abs(val3));
    }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

Absolute value of 30.4 : 30.4
Absolute value of -1.79769313486232E+308 : 1.79769313486232E+308
Absolute value of 1.79769313486232E+308 : 1.79769313486232E+308

この例では、Double.MinValue(最小値)とDouble.MaxValue(最大値)という極端な値も渡しています。負の最小値であっても、絶対値を取ると正の最大値と同じ値になることが確認できます。

16ビット符号付き整数(short型)に対するMath.Abs()の使用例

続いて、16ビット符号付き整数(short型)に対してMath.Abs()メソッドを使用する例を見てみましょう。

using System;
class Demo {
    public static void Main(){
        short val1 = -300;
        short val2 = Int16.MaxValue;
        short val3 = 0;
        Console.WriteLine("Absolute value of {0} : {1}", val1, Math.Abs(val1));
        Console.WriteLine("Absolute value of {0} : {1}", val2, Math.Abs(val2));
        Console.WriteLine("Absolute value of {0} : {1}", val3, Math.Abs(val3));
    }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

Absolute value of -300 : 300
Absolute value of 32767 : 32767
Absolute value of 0 : 0

-300という負の値が300に変換され、正の値である32767や0はそのままの値が返されていることがわかります。

まとめ

Math.Abs()メソッドは、decimal型、double型、int型、short型など複数のオーバーロードを持っており、さまざまな数値型の絶対値を簡単に求められます。ただし、Int16.MinValueInt32.MinValueなど、各整数型の最小値を渡すと対応する正の値が表現範囲に存在しないため、OverflowExceptionがスローされる点には注意が必要です。

  1. C#のMath.Floor()メソッドとは?使い方とサンプルコードを解説

    C#のMath.Floor()メソッドは、指定された数値以下で最大の整数値を返すメソッドです。正の数だけでなく負の数にも対応しており、負の数の場合はより小さい整数方向へ丸められる点が特徴です。 構文 public static decimal Floor(decimal val); public static double Floor(double val); 1つ目の構文では引数 val に decimal 型の数値を指定し、戻り値も decimal 型になります。2つ目の構文では double 型の数値を指定し、戻り値は double 型です。扱うデータの型に応じて、適切なオーバーロードを

  2. Pythonのabs()関数とは?絶対値の求め方を徹底解説

    Pythonの組み込み関数abs()は、数値の「絶対値」を求めるための関数です。絶対値とは、数値に付いている符号(プラス・マイナス)を取り除き、その数値そのものの大きさ(マグニチュード)だけを取り出した値のことを指します。特に複素数の場合、絶対値(大きさ)の計算には平方根など複数の手順が必要となるため、abs()関数を使うと非常に便利です。abs()関数の構文abs(num)引数 num には、整数・浮動小数点数・複素数のいずれかを指定できます。それぞれの型ごとの戻り値は以下の通りです。整数:符号を除いた整数値を返します浮動小数点数:符号を除いた浮動小数点数を返します複素数:原点からの距離、す