# Math Klasse

## Definition

Stellt Konstanten und statische Methoden für trigonometrische, logarithmische und andere gebräuchliche mathematische Funktionen bereit.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``
Vererbung
Math

## Beispiele

Im folgenden Beispiel werden mehrere mathematische und drei metrische Funktionen aus der- Math Klasse verwendet, um die inneren Winkel einer Trapez-ID zu berechnen.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
``````

## Felder

 Stellt die Basis des natürlichen Logarithmus durch die Konstante `e` dar.Represents the natural logarithmic base, specified by the constant, `e`. Stellt das Verhältnis eines Kreisumfangs zum Kreisdurchmesser durch die Konstante π dar.Represents the ratio of the circumference of a circle to its diameter, specified by the constant, π. Stellt die Anzahl der Bogenmaßwerte in einer Umdrehung dar, angegeben durch die Konstante τ.Represents the number of radians in one turn, specified by the constant, τ.

## Methoden

 Gibt den Absolutbetrag einer Decimal-Zahl zurück.Returns the absolute value of a Decimal number. Gibt den absoluten Wert einer Gleitkommazahl mit doppelter Genauigkeit zurück.Returns the absolute value of a double-precision floating-point number. Gibt den absoluten Wert einer 16-Bit-Ganzzahl mit Vorzeichen zurück.Returns the absolute value of a 16-bit signed integer. Gibt den absoluten Wert einer 32-Bit-Ganzzahl mit Vorzeichen zurück.Returns the absolute value of a 32-bit signed integer. Gibt den absoluten Wert einer 64-Bit-Ganzzahl mit Vorzeichen zurück.Returns the absolute value of a 64-bit signed integer. Gibt den absoluten Wert einer 8-Bit-Ganzzahl mit Vorzeichen zurück.Returns the absolute value of an 8-bit signed integer. Gibt den absoluten Wert einer Gleitkommazahl mit einfacher Genauigkeit zurück.Returns the absolute value of a single-precision floating-point number. Gibt einen Winkel zurück, dessen Kosinus die angegebene Zahl ist.Returns the angle whose cosine is the specified number. Gibt den Winkel zurück, dessen hyperbolischer Kosinus die angegebene Zahl ist.Returns the angle whose hyperbolic cosine is the specified number. Gibt einen Winkel zurück, dessen Sinus die angegebene Zahl ist.Returns the angle whose sine is the specified number. Gibt den Winkel zurück, dessen hyperbolischer Sinus die angegebene Zahl ist.Returns the angle whose hyperbolic sine is the specified number. Gibt einen Winkel zurück, dessen Tangens die angegebene Zahl ist.Returns the angle whose tangent is the specified number. Gibt einen Winkel zurück, dessen Tangens der Quotient zweier angegebener Zahlen ist.Returns the angle whose tangent is the quotient of two specified numbers. Gibt den Winkel zurück, dessen hyperbolischer Tangens die angegebene Zahl ist.Returns the angle whose hyperbolic tangent is the specified number. Berechnet das vollständige Produkt aus zwei 32-Bit-Zahlen.Produces the full product of two 32-bit numbers. Berechnet das vollständige Produkt aus zwei 64-Bit-Zahlen.Produces the full product of two 64-bit numbers. Berechnet das vollständige Produkt aus zwei 64-Bit-Zahlen ohne Vorzeichen.Produces the full product of two unsigned 64-bit numbers. Gibt den nächsten kleinsten Wert zurück, der weniger als `x` vergleicht.Returns the next smallest value that compares less than `x`. Gibt den nächsten größten Wert zurück, der größer als `x` vergleicht.Returns the next largest value that compares greater than `x`. Gibt die Kubikwurzel einer angegebenen Zahl zurück.Returns the cube root of a specified number. Gibt den kleinsten ganzzahligen Wert zurück, der größer oder gleich der angegebenen Dezimalzahl ist.Returns the smallest integral value that is greater than or equal to the specified decimal number. Gibt den kleinsten ganzzahligen Wert zurück, der größer oder gleich der angegebenen Gleitkommazahl mit doppelter Genauigkeit ist.Returns the smallest integral value that is greater than or equal to the specified double-precision floating-point number. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück.Returns `value` clamped to the inclusive range of `min` and `max`. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück.Returns `value` clamped to the inclusive range of `min` and `max`. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück.Returns `value` clamped to the inclusive range of `min` and `max`. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück.Returns `value` clamped to the inclusive range of `min` and `max`. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück.Returns `value` clamped to the inclusive range of `min` and `max`. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück.Returns `value` clamped to the inclusive range of `min` and `max`. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück.Returns `value` clamped to the inclusive range of `min` and `max`. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück.Returns `value` clamped to the inclusive range of `min` and `max`. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück.Returns `value` clamped to the inclusive range of `min` and `max`. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück.Returns `value` clamped to the inclusive range of `min` and `max`. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück.Returns `value` clamped to the inclusive range of `min` and `max`. Gibt einen Wert mit dem Betrag `x` und dem Vorzeichen `y` zurück.Returns a value with the magnitude of `x` and the sign of `y`. Gibt den Kosinus des angegebenen Winkels zurück.Returns the cosine of the specified angle. Gibt den Hyperbelkosinus des angegebenen Winkels zurück.Returns the hyperbolic cosine of the specified angle. Berechnet den Quotienten zweier 32-Bit-Ganzzahlen mit Vorzeichen und gibt außerdem den Rest als Ausgabeparameter zurück.Calculates the quotient of two 32-bit signed integers and also returns the remainder in an output parameter. Berechnet den Quotienten zweier 64-Bit-Ganzzahlen mit Vorzeichen und gibt außerdem den Rest als Ausgabeparameter zurück.Calculates the quotient of two 64-bit signed integers and also returns the remainder in an output parameter. Gibt die angegebene Potenz von `e` zurück.Returns `e` raised to the specified power. Gibt die größte Ganzzahl zurück, die kleiner oder gleich der angegebenen Dezimalzahl ist.Returns the largest integral value less than or equal to the specified decimal number. Gibt die größte Ganzzahl zurück, die kleiner oder gleich der angegebenen Gleitkommazahl mit doppelter Genauigkeit ist.Returns the largest integral value less than or equal to the specified double-precision floating-point number. Gibt (x * y) + z, gerundet als ternärer Vorgang, zurück.Returns (x * y) + z, rounded as one ternary operation. Gibt den Rest der Division zweier angegebener Zahlen zurück.Returns the remainder resulting from the division of a specified number by another specified number. Gibt den Logarithmus einer angegebenen ganzen Zahl zur Basis 2 zurück.Returns the base 2 integer logarithm of a specified number. Gibt den natürlichen Logarithmus (zur Basis `e`) der angegebenen Zahl zurück.Returns the natural (base `e`) logarithm of a specified number. Gibt den Logarithmus einer angegebenen Zahl bezüglich einer angegebenen Basis zurück.Returns the logarithm of a specified number in a specified base. Gibt den Logarithmus einer angegebenen Zahl zur Basis 10 zurück.Returns the base 10 logarithm of a specified number. Gibt den Logarithmus einer angegebenen Zahl zur Basis 2 zurück.Returns the base 2 logarithm of a specified number. Gibt die größere von zwei 8-Bit-Ganzzahlen ohne Vorzeichen zurück.Returns the larger of two 8-bit unsigned integers. Gibt die größere von zwei Decimal-Zahlen zurück.Returns the larger of two decimal numbers. Gibt die größere von zwei Gleitkommazahlen mit doppelter Genauigkeit zurück.Returns the larger of two double-precision floating-point numbers. Gibt die größere von zwei 16-Bit-Ganzzahlen mit Vorzeichen zurück.Returns the larger of two 16-bit signed integers. Gibt die größere von zwei 32-Bit-Ganzzahlen mit Vorzeichen zurück.Returns the larger of two 32-bit signed integers. Gibt die größere von zwei 64-Bit-Ganzzahlen mit Vorzeichen zurück.Returns the larger of two 64-bit signed integers. Gibt die größere von zwei 8-Bit-Ganzzahlen mit Vorzeichen zurück.Returns the larger of two 8-bit signed integers. Gibt die größere von zwei Gleitkommazahlen mit einfacher Genauigkeit zurück.Returns the larger of two single-precision floating-point numbers. Gibt die größere von zwei 16-Bit-Ganzzahlen ohne Vorzeichen zurück.Returns the larger of two 16-bit unsigned integers. Gibt die größere von zwei 32-Bit-Ganzzahlen ohne Vorzeichen zurück.Returns the larger of two 32-bit unsigned integers. Gibt die größere von zwei 64-Bit-Ganzzahlen ohne Vorzeichen zurück.Returns the larger of two 64-bit unsigned integers. Gibt den größeren Betrag von zwei Gleitkommazahlen mit doppelter Genauigkeit zurück.Returns the larger magnitude of two double-precision floating-point numbers. Gibt die kleinere von zwei 8-Bit-Ganzzahlen ohne Vorzeichen zurück.Returns the smaller of two 8-bit unsigned integers. Gibt die kleinere von zwei Decimal-Zahlen zurück.Returns the smaller of two decimal numbers. Gibt die kleinere von zwei Gleitkommazahlen mit doppelter Genauigkeit zurück.Returns the smaller of two double-precision floating-point numbers. Gibt die kleinere von zwei 16-Bit-Ganzzahlen mit Vorzeichen zurück.Returns the smaller of two 16-bit signed integers. Gibt die kleinere von zwei 32-Bit-Ganzzahlen mit Vorzeichen zurück.Returns the smaller of two 32-bit signed integers. Gibt die kleinere von zwei 64-Bit-Ganzzahlen mit Vorzeichen zurück.Returns the smaller of two 64-bit signed integers. Gibt die kleinere von zwei 8-Bit-Ganzzahlen mit Vorzeichen zurück.Returns the smaller of two 8-bit signed integers. Gibt die kleinere von zwei Gleitkommazahlen mit einfacher Genauigkeit zurück.Returns the smaller of two single-precision floating-point numbers. Gibt die kleinere von zwei 16-Bit-Ganzzahlen ohne Vorzeichen zurück.Returns the smaller of two 16-bit unsigned integers. Gibt die kleinere von zwei 32-Bit-Ganzzahlen ohne Vorzeichen zurück.Returns the smaller of two 32-bit unsigned integers. Gibt die kleinere von zwei 64-Bit-Ganzzahlen ohne Vorzeichen zurück.Returns the smaller of two 64-bit unsigned integers. Gibt den kleineren Betrag von zwei Gleitkommazahlen mit doppelter Genauigkeit zurück.Returns the smaller magnitude of two double-precision floating-point numbers. Potenziert eine angegebene Zahl mit dem angegebenen Exponenten.Returns a specified number raised to the specified power. Rundet einen Dezimalwert auf den nächstgelegenen ganzzahligen Wert und Mittelpunktwerte auf die nächstgelegene gerade Zahl.Rounds a decimal value to the nearest integral value, and rounds midpoint values to the nearest even number. Rundet einen Dezimalwert auf eine angegebene Anzahl Dezimalstellen und Mittelpunktwerte auf die nächstgelegene gerade Zahl.Rounds a decimal value to a specified number of fractional digits, and rounds midpoint values to the nearest even number. Rundet einen Dezimalwert auf die angegebene Anzahl Dezimalstellen und verwendet den angegebenen Rundungsmodus für Mittelpunktwerte.Rounds a decimal value to a specified number of fractional digits, and uses the specified rounding convention for midpoint values. Rundet einen Dezimalwert auf die nächstgelegene ganze Zahl und verwendet den angegebenen Rundungsmodus für Mittelpunktwerte.Rounds a decimal value to the nearest integer, and uses the specified rounding convention for midpoint values. Rundet einen Gleitkommawert mit doppelter Genauigkeit auf den nächstgelegenen ganzzahligen Wert und Mittelpunktwerte auf die nächstgelegene gerade Zahl.Rounds a double-precision floating-point value to the nearest integral value, and rounds midpoint values to the nearest even number. Rundet einen Gleitkommawert mit doppelter Genauigkeit auf eine angegebene Anzahl Dezimalstellen und Mittelpunktwerte auf die nächstgelegene gerade Zahl.Rounds a double-precision floating-point value to a specified number of fractional digits, and rounds midpoint values to the nearest even number. Rundet einen Gleitkommawert mit doppelter Genauigkeit auf die angegebene Anzahl Dezimalstellen und verwendet den angegebenen Rundungsmodus für Mittelpunktwerte.Rounds a double-precision floating-point value to a specified number of fractional digits, and uses the specified rounding convention for midpoint values. Rundet einen Gleitkommawert mit doppelter Genauigkeit auf die nächstgelegene ganze Zahl und verwendet den angegebenen Rundungsmodus für Mittelpunktwerte.Rounds a double-precision floating-point value to the nearest integer, and uses the specified rounding convention for midpoint values. Gibt x * 2^n effizient berechnet zurück.Returns x * 2^n computed efficiently. Gibt eine ganze Zahl zurück, die das Vorzeichen einer Dezimalzahl angibt.Returns an integer that indicates the sign of a decimal number. Gibt eine ganze Zahl zurück, die das Vorzeichen einer Gleitkommazahl mit doppelter Genauigkeit angibt.Returns an integer that indicates the sign of a double-precision floating-point number. Gibt eine ganze Zahl zurück, die das Vorzeichen einer ganzen 16-Bit-Zahl mit Vorzeichen angibt.Returns an integer that indicates the sign of a 16-bit signed integer. Gibt eine ganze Zahl zurück, die das Vorzeichen einer ganzen 32-Bit-Zahl mit Vorzeichen angibt.Returns an integer that indicates the sign of a 32-bit signed integer. Gibt eine ganze Zahl zurück, die das Vorzeichen einer ganzen 64-Bit-Zahl mit Vorzeichen angibt.Returns an integer that indicates the sign of a 64-bit signed integer. Gibt eine ganze Zahl zurück, die das Vorzeichen einer ganzen 8-Bit-Zahl mit Vorzeichen angibt.Returns an integer that indicates the sign of an 8-bit signed integer. Gibt eine ganze Zahl zurück, die das Vorzeichen einer Gleitkommazahl mit einfacher Genauigkeit angibt.Returns an integer that indicates the sign of a single-precision floating-point number. Gibt den Sinus des angegebenen Winkels zurück.Returns the sine of the specified angle. Gibt den Hyperbelsinus des angegebenen Winkels zurück.Returns the hyperbolic sine of the specified angle. Gibt die Quadratwurzel einer angegebenen Zahl zurück.Returns the square root of a specified number. Gibt den Tangens des angegebenen Winkels zurück.Returns the tangent of the specified angle. Gibt den Hyperbeltangens des angegebenen Winkels zurück.Returns the hyperbolic tangent of the specified angle. Berechnet den den ganzzahligen Teil einer angegebenen Decimal-Zahl.Calculates the integral part of a specified decimal number. Berechnet den den ganzzahligen Teil einer angegebenen Gleitkommazahl mit doppelter Genauigkeit.Calculates the integral part of a specified double-precision floating-point number.