# Math Klasse

## Definition

Stellt Konstanten und statische Methoden für trigonometrische, logarithmische und andere gebräuchliche mathematische Funktionen bereit.

``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 trigonometrische Funktionen aus der Math -Klasse verwendet, um die Innenwinkel eines Trapezoids zu berechnen.

``````/// <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");
}
}
}
``````
``````open System

/// The following class represents simple functionality of the trapezoid.
type MathTrapezoidSample(longbase, shortbase, leftLeg, rightLeg) =
member _.GetRightSmallBase() =
(Math.Pow(rightLeg, 2.) - Math.Pow(leftLeg, 2.) + Math.Pow(longbase, 2.) + Math.Pow(shortbase, 2.) - 2. * shortbase * longbase) / (2. * (longbase - shortbase))

member this.GetHeight() =
let x = this.GetRightSmallBase()
Math.Sqrt(Math.Pow(rightLeg, 2.) - Math.Pow(x, 2.))

member this.GetSquare() =
this.GetHeight() * longbase / 2.

let sinX = this.GetHeight() / leftLeg
Math.Round(Math.Asin sinX,2)

let x = this.GetRightSmallBase()
let cosX = (Math.Pow(rightLeg, 2.) + Math.Pow(x, 2.) - Math.Pow(this.GetHeight(), 2.))/(2. * x * rightLeg)
Math.Round(Math.Acos cosX, 2)

member this.GetLeftBaseDegreeAngle() =
let x = this.GetLeftBaseRadianAngle() * 180. / Math.PI
Math.Round(x, 2)

member this.GetRightBaseDegreeAngle() =
let x = this.GetRightBaseRadianAngle() * 180. / Math.PI
Math.Round(x, 2)

let trpz = MathTrapezoidSample(20., 10., 8., 6.)
printfn "The trapezoid's bases are 20.0 and 10.0, the trapezoid's legs are 8.0 and 6.0"
let h = trpz.GetHeight()
printfn \$"Trapezoid height is: {h}"
printfn \$"Trapezoid left base angle is: {dxR} Radians"
printfn \$"Trapezoid right base angle is: {dyR} Radians"
let dxD = trpz.GetLeftBaseDegreeAngle()
printfn \$"Trapezoid left base angle is: {dxD} Degrees"
let dyD = trpz.GetRightBaseDegreeAngle()
printfn \$"Trapezoid left base angle is: {dyD} 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. Stellt das Verhältnis eines Kreisumfangs zum Kreisdurchmesser durch die Konstante π dar. Stellt die Anzahl der Bogenmaßwerte in einer Umdrehung dar, angegeben durch die Konstante τ.

## Methoden

 Gibt den Absolutbetrag einer Decimal-Zahl zurück. Gibt den absoluten Wert einer Gleitkommazahl mit doppelter Genauigkeit zurück. Gibt den absoluten Wert einer 16-Bit-Ganzzahl mit Vorzeichen zurück. Gibt den absoluten Wert einer 32-Bit-Ganzzahl mit Vorzeichen zurück. Gibt den absoluten Wert einer 64-Bit-Ganzzahl mit Vorzeichen zurück. Gibt den absoluten Wert einer systemeigenen ganzzahligen Vorzeichen zurück. Gibt den absoluten Wert einer 8-Bit-Ganzzahl mit Vorzeichen zurück. Gibt den absoluten Wert einer Gleitkommazahl mit einfacher Genauigkeit zurück. Gibt einen Winkel zurück, dessen Kosinus die angegebene Zahl ist. Gibt den Winkel zurück, dessen hyperbolischer Kosinus die angegebene Zahl ist. Gibt einen Winkel zurück, dessen Sinus die angegebene Zahl ist. Gibt den Winkel zurück, dessen hyperbolischer Sinus die angegebene Zahl ist. Gibt einen Winkel zurück, dessen Tangens die angegebene Zahl ist. Gibt einen Winkel zurück, dessen Tangens der Quotient zweier angegebener Zahlen ist. Gibt den Winkel zurück, dessen hyperbolischer Tangens die angegebene Zahl ist. Berechnet das vollständige Produkt aus zwei 32-Bit-Zahlen. Berechnet das vollständige Produkt aus zwei 64-Bit-Zahlen. Berechnet das vollständige Produkt aus zwei 64-Bit-Zahlen ohne Vorzeichen. Gibt den größten Wert zurück, der kleiner als ein angegebener Wert vergleicht. Gibt den kleinsten Wert zurück, der größer als ein angegebener Wert vergleicht. Gibt die Kubikwurzel einer angegebenen Zahl zurück. Gibt den kleinsten ganzzahligen Wert zurück, der größer oder gleich der angegebenen Dezimalzahl ist. Gibt den kleinsten ganzzahligen Wert zurück, der größer oder gleich der angegebenen Gleitkommazahl mit doppelter Genauigkeit ist. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück. Gibt `value` gebunden an den Inklusivbereich von `min` und `max` zurück. Gibt einen Wert mit dem Betrag `x` und dem Vorzeichen `y` zurück. Gibt den Kosinus des angegebenen Winkels zurück. Gibt den Hyperbelkosinus des angegebenen Winkels zurück. Erzeugt den Quotienten und den Rest von zwei nicht vorzeichenlosen 8-Bit-Zahlen. Erzeugt den Quotienten und den Rest von zwei signierten 16-Bit-Zahlen. Erzeugt den Quotienten und den Rest von zwei vorzeichenden 32-Bit-Zahlen. Berechnet den Quotienten zweier 32-Bit-Ganzzahlen mit Vorzeichen und gibt außerdem den Rest als Ausgabeparameter zurück. Erzeugt den Quotienten und den Rest von zwei signierten 64-Bit-Zahlen. Berechnet den Quotienten zweier 64-Bit-Ganzzahlen mit Vorzeichen und gibt außerdem den Rest als Ausgabeparameter zurück. Erzeugt den Quotienten und den Rest von zwei Zahlen mit nativer Vorzeichengröße. Erzeugt den Quotienten und den Rest von zwei signierten 8-Bit-Zahlen. Erzeugt den Quotienten und den Rest von zwei unsignierten 16-Bit-Zahlen. Erzeugt den Quotienten und den Rest von zwei unsignierten 32-Bit-Zahlen. Erzeugt den Quotienten und den Rest von zwei unsignierten 64-Bit-Zahlen. Erzeugt den Quotienten und den Rest von zwei Zahlen mit nativer Größe ohne Vorzeichen. Gibt die angegebene Potenz von `e` zurück. Gibt die größte Ganzzahl zurück, die kleiner oder gleich der angegebenen Dezimalzahl ist. Gibt die größte Ganzzahl zurück, die kleiner oder gleich der angegebenen Gleitkommazahl mit doppelter Genauigkeit ist. Gibt (x * y) + z, gerundet als ternärer Vorgang, zurück. Gibt den Rest der Division zweier angegebener Zahlen zurück. Gibt den Logarithmus einer angegebenen ganzen Zahl zur Basis 2 zurück. Gibt den natürlichen Logarithmus (zur Basis `e`) der angegebenen Zahl zurück. Gibt den Logarithmus einer angegebenen Zahl bezüglich einer angegebenen Basis zurück. Gibt den Logarithmus einer angegebenen Zahl zur Basis 10 zurück. Gibt den Logarithmus einer angegebenen Zahl zur Basis 2 zurück. Gibt die größere von zwei 8-Bit-Ganzzahlen ohne Vorzeichen zurück. Gibt die größere von zwei Decimal-Zahlen zurück. Gibt die größere von zwei Gleitkommazahlen mit doppelter Genauigkeit zurück. Gibt die größere von zwei 16-Bit-Ganzzahlen mit Vorzeichen zurück. Gibt die größere von zwei 32-Bit-Ganzzahlen mit Vorzeichen zurück. Gibt die größere von zwei 64-Bit-Ganzzahlen mit Vorzeichen zurück. Gibt die größere von zwei nativen ganzzahligen Vorzeichen zurück. Gibt die größere von zwei 8-Bit-Ganzzahlen mit Vorzeichen zurück. Gibt die größere von zwei Gleitkommazahlen mit einfacher Genauigkeit zurück. Gibt die größere von zwei 16-Bit-Ganzzahlen ohne Vorzeichen zurück. Gibt die größere von zwei 32-Bit-Ganzzahlen ohne Vorzeichen zurück. Gibt die größere von zwei 64-Bit-Ganzzahlen ohne Vorzeichen zurück. Gibt die größere von zwei nativen ganzen Zahlen ohne Vorzeichen zurück. Gibt den größeren Betrag von zwei Gleitkommazahlen mit doppelter Genauigkeit zurück. Gibt die kleinere von zwei 8-Bit-Ganzzahlen ohne Vorzeichen zurück. Gibt die kleinere von zwei Decimal-Zahlen zurück. Gibt die kleinere von zwei Gleitkommazahlen mit doppelter Genauigkeit zurück. Gibt die kleinere von zwei 16-Bit-Ganzzahlen mit Vorzeichen zurück. Gibt die kleinere von zwei 32-Bit-Ganzzahlen mit Vorzeichen zurück. Gibt die kleinere von zwei 64-Bit-Ganzzahlen mit Vorzeichen zurück. Gibt die kleinere von zwei nativen ganzzahligen Vorzeichen zurück. Gibt die kleinere von zwei 8-Bit-Ganzzahlen mit Vorzeichen zurück. Gibt die kleinere von zwei Gleitkommazahlen mit einfacher Genauigkeit zurück. Gibt die kleinere von zwei 16-Bit-Ganzzahlen ohne Vorzeichen zurück. Gibt die kleinere von zwei 32-Bit-Ganzzahlen ohne Vorzeichen zurück. Gibt die kleinere von zwei 64-Bit-Ganzzahlen ohne Vorzeichen zurück. Gibt die kleinere von zwei nativen Ganzzahlen ohne Vorzeichen zurück. Gibt den kleineren Betrag von zwei Gleitkommazahlen mit doppelter Genauigkeit zurück. Potenziert eine angegebene Zahl mit dem angegebenen Exponenten. Gibt eine Schätzung der Kehre einer angegebenen Zahl zurück. Gibt eine Schätzung der reziproken Quadratwurzel einer angegebenen Zahl zurück. Rundet einen Dezimalwert auf den nächstgelegenen ganzzahligen Wert und Mittelpunktwerte auf die nächstgelegene gerade Zahl. Rundet einen Dezimalwert auf eine angegebene Anzahl Dezimalstellen und Mittelpunktwerte auf die nächstgelegene gerade Zahl. Rundet einen Dezimalwert unter Verwendung der angegebenen Rundungskonvention auf eine angegebene Anzahl von Bruchstellen. Rundet einen Dezimalwert mit der angegebenen Rundungskonvention um eine ganze Zahl. Rundet einen Gleitkommawert mit doppelter Genauigkeit auf den nächstgelegenen ganzzahligen Wert und Mittelpunktwerte auf die nächstgelegene gerade Zahl. Rundet einen Gleitkommawert mit doppelter Genauigkeit auf eine angegebene Anzahl Dezimalstellen und Mittelpunktwerte auf die nächstgelegene gerade Zahl. Rundet einen Gleitkommawert mit doppelter Genauigkeit unter Verwendung der angegebenen Rundungskonvention auf eine angegebene Anzahl von Bruchstellen. Rundet einen Gleitkommawert mit doppelter Genauigkeit unter Verwendung der angegebenen Rundungskonvention auf eine ganze Zahl. Gibt x * 2^n effizient berechnet zurück. Gibt eine ganze Zahl zurück, die das Vorzeichen einer Dezimalzahl angibt. Gibt eine ganze Zahl zurück, die das Vorzeichen einer Gleitkommazahl mit doppelter Genauigkeit angibt. Gibt eine ganze Zahl zurück, die das Vorzeichen einer ganzen 16-Bit-Zahl mit Vorzeichen angibt. Gibt eine ganze Zahl zurück, die das Vorzeichen einer ganzen 32-Bit-Zahl mit Vorzeichen angibt. Gibt eine ganze Zahl zurück, die das Vorzeichen einer ganzen 64-Bit-Zahl mit Vorzeichen angibt. Gibt eine ganze Zahl zurück, die das Vorzeichen einer systemeigenen ganzzahligen Zahl mit Vorzeichen angibt. Gibt eine ganze Zahl zurück, die das Vorzeichen einer ganzen 8-Bit-Zahl mit Vorzeichen angibt. Gibt eine ganze Zahl zurück, die das Vorzeichen einer Gleitkommazahl mit einfacher Genauigkeit angibt. Gibt den Sinus des angegebenen Winkels zurück. Gibt den Sinus und kosinus des angegebenen Winkels zurück. Gibt den Hyperbelsinus des angegebenen Winkels zurück. Gibt die Quadratwurzel einer angegebenen Zahl zurück. Gibt den Tangens des angegebenen Winkels zurück. Gibt den Hyperbeltangens des angegebenen Winkels zurück. Berechnet den den ganzzahligen Teil einer angegebenen Decimal-Zahl. Berechnet den den ganzzahligen Teil einer angegebenen Gleitkommazahl mit doppelter Genauigkeit.