英語で読む

次の方法で共有


Math クラス

定義

三角関数、対数関数、およびその他の一般的な数学関数の定数と静的メソッドを提供します。

public static class Math
public sealed class Math
継承
Math

次の例では、Math クラスのいくつかの数学関数と三角関数を使用して、台形の内部角度を計算します。

/// <summary>
/// The following class represents simple functionality of the trapezoid.
/// </summary>
using System;

namespace MathClassCS
{
    class MathTrapezoidSample
    {
        private double m_longBase;
        private double m_shortBase;
        private double m_leftLeg;
        private double m_rightLeg;

        public MathTrapezoidSample(double longbase, double shortbase, double leftLeg, double rightLeg)
        {
            m_longBase = Math.Abs(longbase);
            m_shortBase = Math.Abs(shortbase);
            m_leftLeg = Math.Abs(leftLeg);
            m_rightLeg = Math.Abs(rightLeg);
        }

        private double GetRightSmallBase()
        {
            return (Math.Pow(m_rightLeg,2.0) - Math.Pow(m_leftLeg,2.0) + Math.Pow(m_longBase,2.0) + Math.Pow(m_shortBase,2.0) - 2* m_shortBase * m_longBase)/ (2*(m_longBase - m_shortBase));
        }

        public double GetHeight()
        {
            double x = GetRightSmallBase();
            return Math.Sqrt(Math.Pow(m_rightLeg,2.0) - Math.Pow(x,2.0));
        }

        public double GetSquare()
        {
            return GetHeight() * m_longBase / 2.0;
        }

        public double GetLeftBaseRadianAngle()
        {
            double sinX = GetHeight()/m_leftLeg;
            return Math.Round(Math.Asin(sinX),2);
        }

        public double GetRightBaseRadianAngle()
        {
            double x = GetRightSmallBase();
            double cosX = (Math.Pow(m_rightLeg,2.0) + Math.Pow(x,2.0) - Math.Pow(GetHeight(),2.0))/(2*x*m_rightLeg);
            return Math.Round(Math.Acos(cosX),2);
        }

        public double GetLeftBaseDegreeAngle()
        {
            double x = GetLeftBaseRadianAngle() * 180/ Math.PI;
            return Math.Round(x,2);
        }

        public double GetRightBaseDegreeAngle()
        {
            double x = GetRightBaseRadianAngle() * 180/ Math.PI;
            return Math.Round(x,2);
        }

        static void Main(string[] args)
        {
            MathTrapezoidSample trpz = new MathTrapezoidSample(20.0, 10.0, 8.0, 6.0);
            Console.WriteLine("The trapezoid's bases are 20.0 and 10.0, the trapezoid's legs are 8.0 and 6.0");
            double h = trpz.GetHeight();
            Console.WriteLine("Trapezoid height is: " + h.ToString());
            double dxR = trpz.GetLeftBaseRadianAngle();
            Console.WriteLine("Trapezoid left base angle is: " + dxR.ToString() + " Radians");
            double dyR = trpz.GetRightBaseRadianAngle();
            Console.WriteLine("Trapezoid right base angle is: " + dyR.ToString() + " Radians");
            double dxD = trpz.GetLeftBaseDegreeAngle();
            Console.WriteLine("Trapezoid left base angle is: " + dxD.ToString() + " Degrees");
            double dyD = trpz.GetRightBaseDegreeAngle();
            Console.WriteLine("Trapezoid left base angle is: " + dyD.ToString() + " Degrees");
        }
    }
}

フィールド

E

定数 eで指定された自然対数底を表します。

PI

円の円周の直径に対する比率を表します。定数πで指定します。

Tau

定数 π で指定された、1 ターンのラジアンの数を表します。

メソッド

Abs(Decimal)

Decimal 数値の絶対値を返します。

Abs(Double)

倍精度浮動小数点数の絶対値を返します。

Abs(Int16)

16 ビット符号付き整数の絶対値を返します。

Abs(Int32)

32 ビット符号付き整数の絶対値を返します。

Abs(Int64)

64 ビット符号付き整数の絶対値を返します。

Abs(IntPtr)

ネイティブ符号付き整数の絶対値を返します。

Abs(SByte)

8 ビット符号付き整数の絶対値を返します。

Abs(Single)

単精度浮動小数点数の絶対値を返します。

Acos(Double)

コサインが指定した数値である角度を返します。

Acosh(Double)

双曲線余弦が指定した数値である角度を返します。

Asin(Double)

サインが指定された数値である角度を返します。

Asinh(Double)

双曲線サインが指定した数値である角度を返します。

Atan(Double)

タンジェントが指定された数値である角度を返します。

Atan2(Double, Double)

正接が指定された 2 つの数値の商である角度を返します。

Atanh(Double)

双曲線正接が指定した数値である角度を返します。

BigMul(Int32, Int32)

2 つの 32 ビット数値の完全な積を生成します。

BigMul(Int64, Int64)

2 つの 64 ビット数値の完全な積を生成します。

BigMul(Int64, Int64, Int64)

2 つの 64 ビット数値の完全な積を生成します。

BigMul(UInt32, UInt32)

2 つの符号なし 32 ビット数値の完全積を生成します。

BigMul(UInt64, UInt64)

2 つの符号なし 64 ビット数値の完全積を生成します。

BigMul(UInt64, UInt64, UInt64)

2 つの符号なし 64 ビット数値の完全積を生成します。

BitDecrement(Double)

指定した値より小さい値を比較する最大値を返します。

BitIncrement(Double)

指定した値より大きい値を比較する最小の値を返します。

Cbrt(Double)

指定した数値のキューブ ルートを返します。

Ceiling(Decimal)

指定した 10 進数以上の最小値を返します。

Ceiling(Double)

指定した倍精度浮動小数点数以上の最小値を返します。

Clamp(Byte, Byte, Byte)

minmaxの包括的な範囲にクランプされた value を返します。

Clamp(Decimal, Decimal, Decimal)

minmaxの包括的な範囲にクランプされた value を返します。

Clamp(Double, Double, Double)

minmaxの包括的な範囲にクランプされた value を返します。

Clamp(Int16, Int16, Int16)

minmaxの包括的な範囲にクランプされた value を返します。

Clamp(Int32, Int32, Int32)

minmaxの包括的な範囲にクランプされた value を返します。

Clamp(Int64, Int64, Int64)

minmaxの包括的な範囲にクランプされた value を返します。

Clamp(IntPtr, IntPtr, IntPtr)

minmaxの包括的な範囲にクランプされた value を返します。

Clamp(SByte, SByte, SByte)

minmaxの包括的な範囲にクランプされた value を返します。

Clamp(Single, Single, Single)

minmaxの包括的な範囲にクランプされた value を返します。

Clamp(UInt16, UInt16, UInt16)

minmaxの包括的な範囲にクランプされた value を返します。

Clamp(UInt32, UInt32, UInt32)

minmaxの包括的な範囲にクランプされた value を返します。

Clamp(UInt64, UInt64, UInt64)

minmaxの包括的な範囲にクランプされた value を返します。

Clamp(UIntPtr, UIntPtr, UIntPtr)

minmaxの包括的な範囲にクランプされた value を返します。

CopySign(Double, Double)

x の大きさと yの符号を持つ値を返します。

Cos(Double)

指定した角度のコサインを返します。

Cosh(Double)

指定した角度の双曲線余弦を返します。

DivRem(Byte, Byte)

2 つの符号なし 8 ビット数値の商と剰余を生成します。

DivRem(Int16, Int16)

商と、2 つの符号付き 16 ビット数値の残りの部分を生成します。

DivRem(Int32, Int32)

2 つの符号付き 32 ビット数値の商と残りの部分を生成します。

DivRem(Int32, Int32, Int32)

2 つの 32 ビット符号付き整数の商を計算し、出力パラメーターの剰余も返します。

DivRem(Int64, Int64)

商と、2 つの符号付き 64 ビット数値の残りの部分を生成します。

DivRem(Int64, Int64, Int64)

2 つの 64 ビット符号付き整数の商を計算し、出力パラメーターの剰余も返します。

DivRem(IntPtr, IntPtr)

商と、符号付きネイティブ サイズの 2 つの数値の残りの部分を生成します。

DivRem(SByte, SByte)

2 つの符号付き 8 ビット数値の商と残りの部分を生成します。

DivRem(UInt16, UInt16)

2 つの符号なし 16 ビット数値の商と剰余を生成します。

DivRem(UInt32, UInt32)

2 つの符号なし 32 ビット数値の商と剰余を生成します。

DivRem(UInt64, UInt64)

2 つの符号なし 64 ビット数値の商と剰余を生成します。

DivRem(UIntPtr, UIntPtr)

2 つの符号なしネイティブ サイズの数値の商と剰余を生成します。

Exp(Double)

指定した累乗 e 発生した値を返します。

Floor(Decimal)

指定した 10 進数以下の最大値を返します。

Floor(Double)

指定した倍精度浮動小数点数以下の最大整数値を返します。

FusedMultiplyAdd(Double, Double, Double)

1 つの三項演算として丸められた (x * y) + z を返します。

IEEERemainder(Double, Double)

指定した数値を別の指定した数値で除算した結果の剰余を返します。

ILogB(Double)

指定した数値の底 2 の整数対数を返します。

Log(Double)

指定した数値の自然 (底 e) の対数を返します。

Log(Double, Double)

指定した底の指定した数値の対数を返します。

Log10(Double)

指定した数値の底 10 の対数を返します。

Log2(Double)

指定した数値の底 2 の対数を返します。

Max(Byte, Byte)

2 つの 8 ビット符号なし整数のうち大きい方を返します。

Max(Decimal, Decimal)

2 つの 10 進数のうち大きい方を返します。

Max(Double, Double)

2 つの倍精度浮動小数点数の大きい方を返します。

Max(Int16, Int16)

2 つの 16 ビット符号付き整数のうち大きい方を返します。

Max(Int32, Int32)

2 つの 32 ビット符号付き整数のうち大きい方を返します。

Max(Int64, Int64)

2 つの 64 ビット符号付き整数のうち大きい方を返します。

Max(IntPtr, IntPtr)

2 つのネイティブ符号付き整数のうち大きい方を返します。

Max(SByte, SByte)

2 つの 8 ビット符号付き整数のうち大きい方を返します。

Max(Single, Single)

2 つの単精度浮動小数点数の大きい方を返します。

Max(UInt16, UInt16)

2 つの 16 ビット符号なし整数のうち大きい方を返します。

Max(UInt32, UInt32)

2 つの 32 ビット符号なし整数のうち大きい方を返します。

Max(UInt64, UInt64)

2 つの 64 ビット符号なし整数のうち大きい方を返します。

Max(UIntPtr, UIntPtr)

2 つのネイティブ符号なし整数のうち大きい方を返します。

MaxMagnitude(Double, Double)

2 つの倍精度浮動小数点数の大きな大きさを返します。

Min(Byte, Byte)

2 つの 8 ビット符号なし整数のうち小さい方を返します。

Min(Decimal, Decimal)

2 つの小さい 10 進数を返します。

Min(Double, Double)

2 つの倍精度浮動小数点数の小さい方を返します。

Min(Int16, Int16)

2 つの 16 ビット符号付き整数のうち小さい方を返します。

Min(Int32, Int32)

2 つの 32 ビット符号付き整数のうち小さい方を返します。

Min(Int64, Int64)

2 つの 64 ビット符号付き整数のうち小さい方を返します。

Min(IntPtr, IntPtr)

2 つのネイティブ符号付き整数のうち小さい方を返します。

Min(SByte, SByte)

2 つの 8 ビット符号付き整数のうち小さい方を返します。

Min(Single, Single)

2 つの単精度浮動小数点数の小さい方を返します。

Min(UInt16, UInt16)

2 つの 16 ビット符号なし整数のうち小さい方を返します。

Min(UInt32, UInt32)

2 つの 32 ビット符号なし整数のうち小さい方を返します。

Min(UInt64, UInt64)

2 つの 64 ビット符号なし整数のうち小さい方を返します。

Min(UIntPtr, UIntPtr)

2 つのネイティブ符号なし整数のうち小さい方を返します。

MinMagnitude(Double, Double)

2 つの倍精度浮動小数点数の小さい大きさを返します。

Pow(Double, Double)

指定した累乗に引き上げられた指定した数値を返します。

ReciprocalEstimate(Double)

指定した数値の逆数の推定値を返します。

ReciprocalSqrtEstimate(Double)

指定した数値の逆平方根の推定値を返します。

Round(Decimal)

10 進値を最も近い整数値に丸め、中間値を最も近い偶数に丸めます。

Round(Decimal, Int32)

10 進数値を指定した小数部の桁数に丸め、中間値を最も近い偶数に丸めます。

Round(Decimal, Int32, MidpointRounding)

指定した丸め規則を使用して、指定した小数部の桁数に 10 進値を丸めます。

Round(Decimal, MidpointRounding)

指定した丸め規則を使用して、10 進値を整数で丸めます。

Round(Double)

倍精度浮動小数点値を最も近い整数値に丸め、中間値を最も近い偶数に丸めます。

Round(Double, Int32)

倍精度浮動小数点値を指定した小数部の桁数に丸め、中間値を最も近い偶数に丸めます。

Round(Double, Int32, MidpointRounding)

指定した丸め規則を使用して、倍精度浮動小数点値を指定した小数部の桁数に丸めます。

Round(Double, MidpointRounding)

指定した丸め規則を使用して、倍精度浮動小数点値を整数に丸めます。

ScaleB(Double, Int32)

効率的に計算された x * 2^n を返します。

Sign(Decimal)

10 進数の符号を示す整数を返します。

Sign(Double)

倍精度浮動小数点数の符号を示す整数を返します。

Sign(Int16)

16 ビット符号付き整数の符号を示す整数を返します。

Sign(Int32)

32 ビット符号付き整数の符号を示す整数を返します。

Sign(Int64)

64 ビット符号付き整数の符号を示す整数を返します。

Sign(IntPtr)

ネイティブ サイズの符号付き整数の符号を示す整数を返します。

Sign(SByte)

8 ビット符号付き整数の符号を示す整数を返します。

Sign(Single)

単精度浮動小数点数の符号を示す整数を返します。

Sin(Double)

指定した角度のサインを返します。

SinCos(Double)

指定した角度のサインとコサインを返します。

Sinh(Double)

指定した角度の双曲線サインを返します。

Sqrt(Double)

指定した数値の平方根を返します。

Tan(Double)

指定した角度のタンジェントを返します。

Tanh(Double)

指定した角度の双曲線正接を返します。

Truncate(Decimal)

指定した 10 進数の整数部分を計算します。

Truncate(Double)

指定した倍精度浮動小数点数の整数部分を計算します。

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0