# Math 클래스

## 정의

삼각, 로그 및 기타 일반 수학 함수에 대한 상수 및 정적 메서드를 제공합니다.Provides constants and static methods for trigonometric, logarithmic, and other common mathematical functions.

public ref class Math abstract sealed
public static class Math
type Math = class
Public Class Math
상속
Math

## 예제

다음 예제에서는 Math 클래스의 여러 수학 및 삼각 함수를 사용 하 여 사다리꼴의 내부 각도를 계산 합니다.The following example uses several mathematical and trigonometric functions from the Math class to calculate the inner angles of a trapezoid.

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

public ref class MathTrapezoidSample
{
private:
double m_longBase;
double m_shortBase;
double m_leftLeg;
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 ) );
}

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

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

{
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 );
}

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

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

};

int main()
{
MathTrapezoidSample^ trpz = gcnew 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: {0}", h.ToString() );
Console::WriteLine( "Trapezoid left base angle is: {0} Radians", dxR.ToString() );
Console::WriteLine( "Trapezoid right base angle is: {0} Radians", dyR.ToString() );
double dxD = trpz->GetLeftBaseDegreeAngle();
Console::WriteLine( "Trapezoid left base angle is: {0} Degrees", dxD.ToString() );
double dyD = trpz->GetRightBaseDegreeAngle();
Console::WriteLine( "Trapezoid left base angle is: {0} Degrees", dyD.ToString() );
}
/// <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;
}

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

{
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());
Console.WriteLine("Trapezoid left base angle is: " + dxR.ToString() + " Radians");
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");
}
}
}
'The following class represents simple functionality of the trapezoid.
Class MathTrapezoidSample

Private m_longBase As Double
Private m_shortBase As Double
Private m_leftLeg As Double
Private m_rightLeg As Double

Public Sub New(ByVal longbase As Double, ByVal shortbase As Double, ByVal leftLeg As Double, ByVal rightLeg As Double)
m_longBase = Math.Abs(longbase)
m_shortBase = Math.Abs(shortbase)
m_leftLeg = Math.Abs(leftLeg)
m_rightLeg = Math.Abs(rightLeg)
End Sub

Private Function GetRightSmallBase() As Double
GetRightSmallBase = (Math.Pow(m_rightLeg, 2) - Math.Pow(m_leftLeg, 2) + Math.Pow(m_longBase, 2) + Math.Pow(m_shortBase, 2) - 2 * m_shortBase * m_longBase) / (2 * (m_longBase - m_shortBase))
End Function

Public Function GetHeight() As Double
Dim x As Double = GetRightSmallBase()
GetHeight = Math.Sqrt(Math.Pow(m_rightLeg, 2) - Math.Pow(x, 2))
End Function

Public Function GetSquare() As Double
GetSquare = GetHeight() * m_longBase / 2
End Function

Dim sinX As Double = GetHeight() / m_leftLeg
End Function

Dim x As Double = GetRightSmallBase()
Dim cosX As Double = (Math.Pow(m_rightLeg, 2) + Math.Pow(x, 2) - Math.Pow(GetHeight(), 2)) / (2 * x * m_rightLeg)
End Function

Public Function GetLeftBaseDegreeAngle() As Double
Dim x As Double = GetLeftBaseRadianAngle() * 180 / Math.PI
GetLeftBaseDegreeAngle = Math.Round(x, 2)
End Function

Public Function GetRightBaseDegreeAngle() As Double
Dim x As Double = GetRightBaseRadianAngle() * 180 / Math.PI
GetRightBaseDegreeAngle = Math.Round(x, 2)
End Function

Public Shared Sub Main()
Dim trpz As MathTrapezoidSample = New MathTrapezoidSample(20, 10, 8, 6)
Console.WriteLine("The trapezoid's bases are 20.0 and 10.0, the trapezoid's legs are 8.0 and 6.0")
Dim h As Double = trpz.GetHeight()
Console.WriteLine("Trapezoid height is: " + h.ToString())
Dim dxR As Double = trpz.GetLeftBaseRadianAngle()
Console.WriteLine("Trapezoid left base angle is: " + dxR.ToString() + " Radians")
Dim dyR As Double = trpz.GetRightBaseRadianAngle()
Console.WriteLine("Trapezoid right base angle is: " + dyR.ToString() + " Radians")
Dim dxD As Double = trpz.GetLeftBaseDegreeAngle()
Console.WriteLine("Trapezoid left base angle is: " + dxD.ToString() + " Degrees")
Dim dyD As Double = trpz.GetRightBaseDegreeAngle()
Console.WriteLine("Trapezoid left base angle is: " + dyD.ToString() + " Degrees")
End Sub
End Class

## 필드

 상수, e로 지정된 자연 로그의 밑을 나타냅니다.Represents the natural logarithmic base, specified by the constant, e. 상수(π)로 지정된 원주율을 나타냅니다.Represents the ratio of the circumference of a circle to its diameter, specified by the constant, π.

## 메서드

 Decimal 숫자의 절대값을 반환합니다.Returns the absolute value of a Decimal number. 배정밀도 부동 소수점 수의 절대 값을 반환합니다.Returns the absolute value of a double-precision floating-point number. 16비트 부호 있는 정수의 절대 값을 반환합니다.Returns the absolute value of a 16-bit signed integer. 32비트 부호 있는 정수의 절대 값을 반환합니다.Returns the absolute value of a 32-bit signed integer. 64비트 부호 있는 정수의 절대 값을 반환합니다.Returns the absolute value of a 64-bit signed integer. 8비트 부호 있는 정수의 절대 값을 반환합니다.Returns the absolute value of an 8-bit signed integer. 단정밀도 부동 소수점 수의 절대 값을 반환합니다.Returns the absolute value of a single-precision floating-point number. 코사인을 적용했을 때 지정된 숫자가 나오는 각도를 반환합니다.Returns the angle whose cosine is the specified number. 쌍곡선 코사인을 적용했을 때 지정된 숫자가 나오는 각도를 반환합니다.Returns the angle whose hyperbolic cosine is the specified number. 사인을 적용했을 때 지정된 숫자가 나오는 각도를 반환합니다.Returns the angle whose sine is the specified number. 쌍곡선 사인을 적용했을 때 지정된 숫자가 나오는 각도를 반환합니다.Returns the angle whose hyperbolic sine is the specified number. 탄젠트를 적용했을 때 지정된 숫자가 나오는 각도를 반환합니다.Returns the angle whose tangent is the specified number. 탄젠트를 적용했을 때 지정된 두 숫자의 몫이 나오는 각도를 반환합니다.Returns the angle whose tangent is the quotient of two specified numbers. 쌍곡선 탄젠트를 적용했을 때 지정된 숫자가 나오는 각도를 반환합니다.Returns the angle whose hyperbolic tangent is the specified number. 32비트 숫자 두 개를 곱합니다.Produces the full product of two 32-bit numbers. x보다 작은 값을 비교하여 다음으로 작은 값을 반환합니다.Returns the next smallest value that compares less than x. x보다 큰 값을 비교하여 다음으로 큰 값을 반환합니다.Returns the next largest value that compares greater than x. 지정된 숫자의 세제곱근을 반환합니다.Returns the cube root of a specified number. 지정된 10진수보다 크거나 같은 최소 정수 값을 반환합니다.Returns the smallest integral value that is greater than or equal to the specified decimal number. 지정된 배정밀도 부동 소수점 숫자보다 크거나 같은 최소 정수 값을 반환합니다.Returns the smallest integral value that is greater than or equal to the specified double-precision floating-point number. min 및 max의 포괄적인 범위에 고정되어 있는 value를 반환합니다.Returns value clamped to the inclusive range of min and max. min 및 max의 포괄적인 범위에 고정되어 있는 value를 반환합니다.Returns value clamped to the inclusive range of min and max. min 및 max의 포괄적인 범위에 고정되어 있는 value를 반환합니다.Returns value clamped to the inclusive range of min and max. min 및 max의 포괄적인 범위에 고정되어 있는 value를 반환합니다.Returns value clamped to the inclusive range of min and max. min 및 max의 포괄적인 범위에 고정되어 있는 value를 반환합니다.Returns value clamped to the inclusive range of min and max. min 및 max의 포괄적인 범위에 고정되어 있는 value를 반환합니다.Returns value clamped to the inclusive range of min and max. min 및 max의 포괄적인 범위에 고정되어 있는 value를 반환합니다.Returns value clamped to the inclusive range of min and max. min 및 max의 포괄적인 범위에 고정되어 있는 value를 반환합니다.Returns value clamped to the inclusive range of min and max. min 및 max의 포괄적인 범위에 고정되어 있는 value를 반환합니다.Returns value clamped to the inclusive range of min and max. min 및 max의 포괄적인 범위에 고정되어 있는 value를 반환합니다.Returns value clamped to the inclusive range of min and max. min 및 max의 포괄적인 범위에 고정되어 있는 value를 반환합니다.Returns value clamped to the inclusive range of min and max. x의 크기 및 y의 부호 값을 반환합니다.Returns a value with the magnitude of x and the sign of y. 지정된 각도의 코사인을 반환합니다.Returns the cosine of the specified angle. 지정된 각도의 하이퍼볼릭 코사인을 반환합니다.Returns the hyperbolic cosine of the specified angle. 부호 있는 두 32비트 정수의 몫을 계산하고 나머지를 출력 매개 변수로 반환합니다.Calculates the quotient of two 32-bit signed integers and also returns the remainder in an output parameter. 부호 있는 두 64비트 정수의 몫을 계산하고 나머지를 출력 매개 변수로 반환합니다.Calculates the quotient of two 64-bit signed integers and also returns the remainder in an output parameter. e를 지정된 수만큼 거듭제곱하여 반환합니다.Returns e raised to the specified power. 지정된 10진수보다 작거나 같은 최대 정수 값을 반환합니다.Returns the largest integral value less than or equal to the specified decimal number. 지정된 배정밀도 부동 소수점 숫자보다 작거나 같은 최대 정수 값을 반환합니다.Returns the largest integral value less than or equal to the specified double-precision floating-point number. 하나의 삼항 연산으로 반올림한 (x * y) + z를 반환합니다.Returns (x * y) + z, rounded as one ternary operation. 지정된 수를 지정된 다른 수로 나눈 나머지를 반환합니다.Returns the remainder resulting from the division of a specified number by another specified number. 지정된 숫자의 기본 2 정수 로그를 반환합니다.Returns the base 2 integer logarithm of a specified number. 지정된 숫자의 자연(밑 e) 로그를 반환합니다.Returns the natural (base e) logarithm of a specified number. 지정된 밑을 사용하여 지정된 숫자의 로그를 반환합니다.Returns the logarithm of a specified number in a specified base. 밑을 10으로 사용하여 지정된 숫자의 로그를 반환합니다.Returns the base 10 logarithm of a specified number. 밑을 2로 사용하여 지정된 숫자의 로그를 반환합니다.Returns the base 2 logarithm of a specified number. 두 개의 8비트 부호 없는 정수 중 더 큰 숫자를 반환합니다.Returns the larger of two 8-bit unsigned integers. 두 개의 10진수 중 더 큰 숫자를 반환합니다.Returns the larger of two decimal numbers. 두 개의 배정밀도 부동 소수점 수 중 더 큰 숫자를 반환합니다.Returns the larger of two double-precision floating-point numbers. 두 개의 16비트 부호 있는 정수 중 더 큰 숫자를 반환합니다.Returns the larger of two 16-bit signed integers. 두 개의 32비트 부호 있는 정수 중 더 큰 숫자를 반환합니다.Returns the larger of two 32-bit signed integers. 두 개의 64비트 부호 있는 정수 중 더 큰 숫자를 반환합니다.Returns the larger of two 64-bit signed integers. 두 개의 8비트 부호 있는 정수 중 더 큰 숫자를 반환합니다.Returns the larger of two 8-bit signed integers. 두 개의 단정밀도 부동 소수점 수 중 더 큰 숫자를 반환합니다.Returns the larger of two single-precision floating-point numbers. 두 개의 16비트 부호 없는 정수 중 더 큰 숫자를 반환합니다.Returns the larger of two 16-bit unsigned integers. 두 개의 32비트 부호 없는 정수 중 더 큰 숫자를 반환합니다.Returns the larger of two 32-bit unsigned integers. 두 개의 64비트 부호 없는 정수 중 더 큰 숫자를 반환합니다.Returns the larger of two 64-bit unsigned integers. 두 개의 배정밀도 부동 소수점 수 중 더 큰 크기를 반환합니다.Returns the larger magnitude of two double-precision floating-point numbers. 두 개의 8비트 부호 없는 정수 중 더 작은 숫자를 반환합니다.Returns the smaller of two 8-bit unsigned integers. 두 개의 10진수 중 더 작은 숫자를 반환합니다.Returns the smaller of two decimal numbers. 두 개의 배정밀도 부동 소수점 수 중 더 작은 숫자를 반환합니다.Returns the smaller of two double-precision floating-point numbers. 두 개의 16비트 부호 있는 정수 중 더 작은 숫자를 반환합니다.Returns the smaller of two 16-bit signed integers. 두 개의 32비트 부호 있는 정수 중 더 작은 숫자를 반환합니다.Returns the smaller of two 32-bit signed integers. 두 개의 64비트 부호 있는 정수 중 더 작은 숫자를 반환합니다.Returns the smaller of two 64-bit signed integers. 두 개의 8비트 부호 있는 정수 중 더 작은 숫자를 반환합니다.Returns the smaller of two 8-bit signed integers. 두 개의 단정밀도 부동 소수점 수 중 더 작은 숫자를 반환합니다.Returns the smaller of two single-precision floating-point numbers. 두 개의 16비트 부호 없는 정수 중 더 작은 숫자를 반환합니다.Returns the smaller of two 16-bit unsigned integers. 두 개의 32비트 부호 없는 정수 중 더 작은 숫자를 반환합니다.Returns the smaller of two 32-bit unsigned integers. 두 개의 64비트 부호 없는 정수 중 더 작은 숫자를 반환합니다.Returns the smaller of two 64-bit unsigned integers. 두 개의 배정밀도 부동 소수점 수 중 더 작은 크기를 반환합니다.Returns the smaller magnitude of two double-precision floating-point numbers. 지정된 숫자의 지정된 거듭제곱을 반환합니다.Returns a specified number raised to the specified power. 10진수 값을 가장 가까운 정수로 반올림하고 중간점 값을 가장 가까운 짝수로 반올림합니다.Rounds a decimal value to the nearest integral value, and rounds midpoint values to the nearest even number. 소수 자릿수가 지정된 수의 10진수 값을 반올림하고 중간점 값을 가장 가까운 짝수로 반올림합니다.Rounds a decimal value to a specified number of fractional digits, and rounds midpoint values to the nearest even number. 소수 자릿수가 지정된 수의 10진수 값을 반올림하고 지정된 반올림 규칙을 사용합니다.Rounds a decimal value to a specified number of fractional digits, and uses the specified rounding convention for midpoint values. 10진수 값을 가장 가까운 정수로 반올림하고 중간점 값에 대한 지정된 반올림 규칙을 사용합니다.Rounds a decimal value to the nearest integer, and uses the specified rounding convention for midpoint values. 배정밀도 부동 소수점 값을 가장 가까운 정수 값으로 반올림하고 중간점 값을 가장 가까운 짝수로 반올림합니다.Rounds a double-precision floating-point value to the nearest integral value, and rounds midpoint values to the nearest even number. 지정된 수의 소수 자릿수를 배정밀도 부동 소수점 값으로 반올림하고 중간점 값을 가장 가까운 짝수로 반올림합니다.Rounds a double-precision floating-point value to a specified number of fractional digits, and rounds midpoint values to the nearest even number. 지정된 수의 소수 자릿수를 배정밀도 부동 소수점 값으로 반올림하고 중간점 값에 대한 지정된 반올림 규칙을 사용합니다.Rounds a double-precision floating-point value to a specified number of fractional digits, and uses the specified rounding convention for midpoint values. 가장 가까운 정수로 배정밀도 부동 소수점 값을 반올림하고 중간점 값에 대한 지정된 반올림 규칙을 사용합니다.Rounds a double-precision floating-point value to the nearest integer, and uses the specified rounding convention for midpoint values. 효율적으로 계산된 x * 2^n을 반환합니다.Returns x * 2^n computed efficiently. 10진수의 부호를 나타내는 정수를 반환합니다.Returns an integer that indicates the sign of a decimal number. 배정밀도 부동 소수점 수의 부호를 나타내는 정수를 반환합니다.Returns an integer that indicates the sign of a double-precision floating-point number. 16비트 부호 있는 정수의 부호를 나타내는 정수를 반환합니다.Returns an integer that indicates the sign of a 16-bit signed integer. 32비트 부호 있는 정수의 부호를 나타내는 정수를 반환합니다.Returns an integer that indicates the sign of a 32-bit signed integer. 64비트 부호 있는 정수의 부호를 나타내는 정수를 반환합니다.Returns an integer that indicates the sign of a 64-bit signed integer. 8비트 부호 있는 정수의 부호를 나타내는 정수를 반환합니다.Returns an integer that indicates the sign of an 8-bit signed integer. 단정밀도 부동 소수점 숫자의 부호를 나타내는 정수를 반환합니다.Returns an integer that indicates the sign of a single-precision floating-point number. 지정된 각도의 사인을 반환합니다.Returns the sine of the specified angle. 지정된 각도의 하이퍼볼릭 사인을 반환합니다.Returns the hyperbolic sine of the specified angle. 지정된 숫자의 제곱근을 반환합니다.Returns the square root of a specified number. 지정된 각도의 탄젠트를 반환합니다.Returns the tangent of the specified angle. 지정된 각도의 하이퍼볼릭 탄젠트를 반환합니다.Returns the hyperbolic tangent of the specified angle. 지정된 10진수에서 정수 부분을 계산합니다.Calculates the integral part of a specified decimal number. 지정한 배정밀도 부동 소수점 숫자의 정수 부분을 계산합니다.Calculates the integral part of a specified double-precision floating-point number.