Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

C#辞典

  1. トップページ
  2. C#辞典
  3. Math.Max() / Math.Min() / Math.Pow() / Math.Sqrt()

Math.Max() / Math.Min() / Math.Pow() / Math.Sqrt()

2つの値の大きい方を返す『Math.Max()』、小さい方を返す『Math.Min()』、累乗を計算する『Math.Pow()』、平方根を返す『Math.Sqrt()』の使い方です。

構文
using System;

// val1 と val2 のうち大きい方を返します。
Math.Max(T val1, T val2)

// val1 と val2 のうち小さい方を返します。
Math.Min(T val1, T val2)

// x の y 乗を返します。戻り値は double 型です。
Math.Pow(double x, double y)

// d の平方根を返します。戻り値は double 型です。
Math.Sqrt(double d)

// x の自然対数を返します。
Math.Log(double x)

// 指定した底 newBase に対する x の対数を返します。
Math.Log(double x, double newBase)
メソッド一覧
メソッド概要
Math.Max(val1, val2)val1 と val2 のうち大きい方の値を返します。int, double, decimal など各数値型のオーバーロードがあります。
Math.Min(val1, val2)val1 と val2 のうち小さい方の値を返します。
Math.Pow(x, y)x の y 乗(x^y)を返します。戻り値は常に double 型です。
Math.Sqrt(d)d の平方根を返します。d が負の場合は NaN を返します。
Math.Log(x)x の自然対数(底 e)を返します。
Math.Log(x, newBase)x の newBase を底とする対数を返します。
Math.Log10(x)x の常用対数(底 10)を返します。
サンプルコード
using System;

// Math.Max() — 2つの値のうち大きい方を取得します。
Console.WriteLine(Math.Max(10, 20));    // 20
Console.WriteLine(Math.Max(-5, -3));    // -3
Console.WriteLine(Math.Max(3.7, 3.2)); // 3.7

// Math.Min() — 2つの値のうち小さい方を取得します。
Console.WriteLine(Math.Min(10, 20));    // 10
Console.WriteLine(Math.Min(-5, -3));    // -5

// Math.Pow() — 累乗を計算します。
Console.WriteLine(Math.Pow(2, 10));  // 1024(2の10乗)
Console.WriteLine(Math.Pow(3, 3));   // 27(3の3乗)
Console.WriteLine(Math.Pow(9, 0.5)); // 3(9の0.5乗 = 平方根)

// Math.Sqrt() — 平方根を計算します。
Console.WriteLine(Math.Sqrt(16));   // 4
Console.WriteLine(Math.Sqrt(2));    // 1.4142135623730951
Console.WriteLine(Math.Sqrt(-1));   // NaN(負の数の平方根は実数ではありません)

// Math.Log() — 対数を計算します。
Console.WriteLine(Math.Log(Math.E));     // 1(自然対数 log_e(e) = 1)
Console.WriteLine(Math.Log10(1000));     // 3(常用対数 log_10(1000) = 3)
Console.WriteLine(Math.Log(8, 2));       // 3(log_2(8) = 3)

// 実用例: 複利計算(元金 × (1 + 利率)^年数)
double 元金 = 100000;
double 利率 = 0.03;
int 年数 = 10;
double 将来価値 = 元金 * Math.Pow(1 + 利率, 年数);
Console.WriteLine($"{年数}年後の金額: {将来価値:F0} 円");
概要

『Math.Pow()』と『Math.Sqrt()』の戻り値は常に double 型です。整数型の変数に代入するには明示的なキャストが必要です。『Math.Sqrt()』に負の値を渡すと例外ではなく NaN(非数)が返されるので注意してください。

『Math.Max()』と『Math.Min()』は 2 つの値しか比較できません。配列やリスト全体の最大・最小値を求めるには LINQ の Max() / Min() を使用してください。絶対値・丸め処理についてはMath.Abs() / Round() / Ceiling() / Floor()をご確認ください。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。