# Math Classe

## Definição

Fornece constantes e métodos estáticos para trigonométricas, logarítmicas e outras funções matemáticas comuns.Provides constants and static methods for trigonometric, logarithmic, and other common mathematical functions.

``public ref class Math abstract sealed``
``public ref class Math sealed``
``public static class Math``
``public sealed class Math``
``type Math = class``
``Public Class Math``
``Public NotInheritable Class Math``
Herança
Math

## Exemplos

O exemplo a seguir usa várias funções matemáticas e trigonométricas da Math classe para calcular os ângulos internos de um trapézio.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
``````

## Campos

 Representa a base logarítmica natural, especificada pela constante `e`.Represents the natural logarithmic base, specified by the constant, `e`. Representa a razão entre a circunferência de um círculo e seu diâmetro, especificada pela constante π.Represents the ratio of the circumference of a circle to its diameter, specified by the constant, π. Representa o número de radianos em um turno, especificado pela constante, τ.Represents the number of radians in one turn, specified by the constant, τ.

## Métodos

 Retorna o valor absoluto de um número Decimal.Returns the absolute value of a Decimal number. Retorna o valor absoluto de um número de ponto flutuante de precisão dupla.Returns the absolute value of a double-precision floating-point number. Retorna o valor absoluto de um inteiro com sinal de 16 bits.Returns the absolute value of a 16-bit signed integer. Retorna o valor absoluto de um inteiro com sinal de 32 bits.Returns the absolute value of a 32-bit signed integer. Retorna o valor absoluto de um inteiro com sinal de 64 bits.Returns the absolute value of a 64-bit signed integer. Retorna o valor absoluto de um inteiro com sinal de 8 bits.Returns the absolute value of an 8-bit signed integer. Retorna o valor absoluto de um número de ponto flutuante de precisão simples.Returns the absolute value of a single-precision floating-point number. Retorna o ângulo cujo cosseno é o número especificado.Returns the angle whose cosine is the specified number. Retorna o ângulo cujo cosseno hiperbólico é o número especificado.Returns the angle whose hyperbolic cosine is the specified number. Retorna o ângulo cujo seno é o número especificado.Returns the angle whose sine is the specified number. Retorna o ângulo cujo seno hiperbólico é o número especificado.Returns the angle whose hyperbolic sine is the specified number. Retorna o ângulo cuja tangente é o número especificado.Returns the angle whose tangent is the specified number. Retorna o ângulo cuja tangente é o quociente de dois números especificados.Returns the angle whose tangent is the quotient of two specified numbers. Retorna o ângulo cuja tangente hiperbólica é o número especificado.Returns the angle whose hyperbolic tangent is the specified number. Produz o produto completo de dois números de 32 bits.Produces the full product of two 32-bit numbers. Gera o produto completo de dois números de 64 bits.Produces the full product of two 64-bit numbers. Gera o produto completo de dois números de 64 bits sem sinal.Produces the full product of two unsigned 64-bit numbers. Retorna o próximo valor menor que é comparado como menor que `x`.Returns the next smallest value that compares less than `x`. Retorna o próximo valor maior que é comparado como maior que `x`.Returns the next largest value that compares greater than `x`. Retorna a raiz cúbica de um número especificado.Returns the cube root of a specified number. Retorna o menor valor integral maior ou igual ao número decimal especificado.Returns the smallest integral value that is greater than or equal to the specified decimal number. Retorna o menor valor integral maior ou igual ao número de ponto flutuante de precisão dupla especificado.Returns the smallest integral value that is greater than or equal to the specified double-precision floating-point number. Retorna `value` fixado no intervalo inclusivo de `min` e `max`.Returns `value` clamped to the inclusive range of `min` and `max`. Retorna `value` fixado no intervalo inclusivo de `min` e `max`.Returns `value` clamped to the inclusive range of `min` and `max`. Retorna `value` fixado no intervalo inclusivo de `min` e `max`.Returns `value` clamped to the inclusive range of `min` and `max`. Retorna `value` fixado no intervalo inclusivo de `min` e `max`.Returns `value` clamped to the inclusive range of `min` and `max`. Retorna `value` fixado no intervalo inclusivo de `min` e `max`.Returns `value` clamped to the inclusive range of `min` and `max`. Retorna `value` fixado no intervalo inclusivo de `min` e `max`.Returns `value` clamped to the inclusive range of `min` and `max`. Retorna `value` fixado no intervalo inclusivo de `min` e `max`.Returns `value` clamped to the inclusive range of `min` and `max`. Retorna `value` fixado no intervalo inclusivo de `min` e `max`.Returns `value` clamped to the inclusive range of `min` and `max`. Retorna `value` fixado no intervalo inclusivo de `min` e `max`.Returns `value` clamped to the inclusive range of `min` and `max`. Retorna `value` fixado no intervalo inclusivo de `min` e `max`.Returns `value` clamped to the inclusive range of `min` and `max`. Retorna `value` fixado no intervalo inclusivo de `min` e `max`.Returns `value` clamped to the inclusive range of `min` and `max`. Retorna um valor com magnitude de `x` e o sinal de `y`.Returns a value with the magnitude of `x` and the sign of `y`. Retorna o cosseno do ângulo especificado.Returns the cosine of the specified angle. Retorna o cosseno hiperbólico do ângulo especificado.Returns the hyperbolic cosine of the specified angle. Calcula o quociente de dois inteiros de 32 bits com sinal e também retorna o resto em um parâmetro de saída.Calculates the quotient of two 32-bit signed integers and also returns the remainder in an output parameter. Calcula o quociente de dois inteiros com sinal de 64 bits e também retorna o restante em um parâmetro de saída.Calculates the quotient of two 64-bit signed integers and also returns the remainder in an output parameter. Retorna `e` elevado à potência especificada.Returns `e` raised to the specified power. Retorna o maior valor integral menor ou igual ao número decimal especificado.Returns the largest integral value less than or equal to the specified decimal number. Retorna o maior valor integral menor ou igual ao número de ponto flutuante de precisão dupla especificado.Returns the largest integral value less than or equal to the specified double-precision floating-point number. Retorna (x * y) + z, arredondado como uma operação ternária.Returns (x * y) + z, rounded as one ternary operation. Retorna o resultado restante da divisão de um número especificado por outro número especificado.Returns the remainder resulting from the division of a specified number by another specified number. Retorna o logaritmo inteiro de base 2 de um número especificado.Returns the base 2 integer logarithm of a specified number. Retorna o logaritmo natural (de base `e`) de um número especificado.Returns the natural (base `e`) logarithm of a specified number. Retorna o logaritmo de um número especificado em uma base especificada.Returns the logarithm of a specified number in a specified base. Retorna o logaritmo de base 10 de um número especificado.Returns the base 10 logarithm of a specified number. Retorna o logaritmo de base 2 de um número especificado.Returns the base 2 logarithm of a specified number. Retorna o maior entre dois inteiros sem sinal de 8 bits.Returns the larger of two 8-bit unsigned integers. Retorna o maior dos dois números decimais.Returns the larger of two decimal numbers. Retorna o maior dos dois números de ponto flutuante de precisão dupla.Returns the larger of two double-precision floating-point numbers. Retorna o maior dos dois inteiros com sinal de 16 bits.Returns the larger of two 16-bit signed integers. Retorna o maior dos dois inteiros com sinal de 32 bits.Returns the larger of two 32-bit signed integers. Retorna o maior dos dois inteiros com sinal de 64 bits.Returns the larger of two 64-bit signed integers. Retorna o maior dos dois inteiros com sinal de 8 bits.Returns the larger of two 8-bit signed integers. Retorna o maior dos dois números de ponto flutuante de precisão simples.Returns the larger of two single-precision floating-point numbers. Retorna o maior de dois inteiros sem sinal de 16 bits.Returns the larger of two 16-bit unsigned integers. Retorna o maior de dois inteiros sem sinal de 32 bits.Returns the larger of two 32-bit unsigned integers. Retorna o maior entre dois inteiros sem sinal de 64 bits.Returns the larger of two 64-bit unsigned integers. Retorna a maior magnitude de dois números de ponto flutuante de precisão dupla.Returns the larger magnitude of two double-precision floating-point numbers. Retorna o menor dos dois inteiros sem sinal de 8 bits.Returns the smaller of two 8-bit unsigned integers. Retorna o menor dos dois números decimais.Returns the smaller of two decimal numbers. Retorna o menor dos dois números de ponto flutuante de precisão dupla.Returns the smaller of two double-precision floating-point numbers. Retorna o menor de dois inteiros com sinal de 16 bits.Returns the smaller of two 16-bit signed integers. Retorna o menor de dois inteiros com sinal de 32 bits.Returns the smaller of two 32-bit signed integers. Retorna o menor de dois inteiros com sinal de 64 bits.Returns the smaller of two 64-bit signed integers. Retorna o menor de dois inteiros com sinal de 8 bits.Returns the smaller of two 8-bit signed integers. Retorna o menor de dois números de ponto flutuante de precisão simples.Returns the smaller of two single-precision floating-point numbers. Retorna o menor dos dois inteiros sem sinal de 16 bits.Returns the smaller of two 16-bit unsigned integers. Retorna o menor de dois inteiros sem sinal de 32 bits.Returns the smaller of two 32-bit unsigned integers. Retorna o menor de dois inteiros sem sinal de 64 bits.Returns the smaller of two 64-bit unsigned integers. Retorna a menor magnitude de dois números de ponto flutuante de precisão dupla.Returns the smaller magnitude of two double-precision floating-point numbers. Retorna um número especificado elevado à potência especificada.Returns a specified number raised to the specified power. Arredonda um valor decimal para o valor inteiro mais próximo e arredonda os valores de ponto médio para o número par mais próximo.Rounds a decimal value to the nearest integral value, and rounds midpoint values to the nearest even number. Arredonda um valor decimal para o número especificado de dígitos fracionários e arredonda os valores de ponto médio para o número par mais próximo.Rounds a decimal value to a specified number of fractional digits, and rounds midpoint values to the nearest even number. Arredonda um valor decimal para o número especificado de dígitos fracionários e usa a convenção de arredondamento especificada para os valores de ponto médio.Rounds a decimal value to a specified number of fractional digits, and uses the specified rounding convention for midpoint values. Arredonda um valor decimal para o inteiro mais próximo e usa a convenção de arredondamento especificada para os valores de ponto médio.Rounds a decimal value to the nearest integer, and uses the specified rounding convention for midpoint values. Arredonda um valor de ponto flutuante de precisão dupla para o valor inteiro mais próximo e arredonda os valores de ponto médio para o número par mais próximo.Rounds a double-precision floating-point value to the nearest integral value, and rounds midpoint values to the nearest even number. Arredonda um valor de ponto flutuante de precisão dupla para o número especificado de dígitos fracionários e arredonda os valores de ponto médio para o número par mais próximo.Rounds a double-precision floating-point value to a specified number of fractional digits, and rounds midpoint values to the nearest even number. Arredonda um valor de ponto flutuante de precisão dupla para o número especificado de dígitos fracionários e usa a convenção de arredondamento especificada para os valores de ponto médio.Rounds a double-precision floating-point value to a specified number of fractional digits, and uses the specified rounding convention for midpoint values. Arredonda um valor de ponto flutuante de precisão dupla para o inteiro mais próximo e usa a convenção de arredondamento especificada para os valores de ponto médio.Rounds a double-precision floating-point value to the nearest integer, and uses the specified rounding convention for midpoint values. Retorna x * 2^n computado com eficiência.Returns x * 2^n computed efficiently. Retorna um inteiro que indica o sinal de um número decimal.Returns an integer that indicates the sign of a decimal number. Retorna um inteiro que indica o sinal de um número de ponto flutuante de precisão dupla.Returns an integer that indicates the sign of a double-precision floating-point number. Retorna um inteiro que indica o sinal de um inteiro com sinal de 16 bits.Returns an integer that indicates the sign of a 16-bit signed integer. Retorna um inteiro que indica o sinal de um inteiro com sinal de 32 bits.Returns an integer that indicates the sign of a 32-bit signed integer. Retorna um inteiro que indica o sinal de um inteiro com sinal de 64 bits.Returns an integer that indicates the sign of a 64-bit signed integer. Retorna um inteiro que indica o sinal de um inteiro com sinal de 8 bits.Returns an integer that indicates the sign of an 8-bit signed integer. Retorna um inteiro que indica o sinal de um número de ponto flutuante de precisão simples.Returns an integer that indicates the sign of a single-precision floating-point number. Retorna o seno do ângulo especificado.Returns the sine of the specified angle. Retorna o seno hiperbólico do ângulo especificado.Returns the hyperbolic sine of the specified angle. Retorna a raiz quadrada de um número especificado.Returns the square root of a specified number. Retorna a tangente do ângulo especificado.Returns the tangent of the specified angle. Retorna a tangente hiperbólica do ângulo especificado.Returns the hyperbolic tangent of the specified angle. Calcula a parte integral de um número decimal especificado.Calculates the integral part of a specified decimal number. Calcula a parte integral de um número de ponto flutuante de precisão dupla especificado.Calculates the integral part of a specified double-precision floating-point number.