Math Třída

Definice

Poskytuje konstanty a statické metody pro trigonometrické, logaritmické a další běžné matematické funkce.

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
Dědičnost
Math

Příklady

Následující příklad používá několik matematických a trigonometrických funkcí z Math třídy pro výpočet vnitřních úhlů 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 GetLeftBaseRadianAngle()
   {
      double sinX = GetHeight() / m_leftLeg;
      return Math::Round( Math::Asin( sinX ), 2 );
   }

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

   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() );
   double dxR = trpz->GetLeftBaseRadianAngle();
   Console::WriteLine( "Trapezoid left base angle is: {0} Radians", dxR.ToString() );
   double dyR = trpz->GetRightBaseRadianAngle();
   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;
        }

        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");
        }
    }
}
'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

    Public Function GetLeftBaseRadianAngle() As Double
        Dim sinX As Double = GetHeight() / m_leftLeg
        GetLeftBaseRadianAngle = Math.Round(Math.Asin(sinX), 2)
    End Function

    Public Function GetRightBaseRadianAngle() As Double
        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)
        GetRightBaseRadianAngle = Math.Round(Math.Acos(cosX), 2)
    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

Pole

E

Představuje přirozený logaritmický základ určený konstantou e .

PI

Představuje poměr obvodu kružnice s jeho průměrem, určený konstantou, π.

Tau

Představuje počet radiánů v jednom z nich zadaný konstantou, τ.

Metody

Abs(Decimal)

Vrátí absolutní hodnotu Decimal čísla.

Abs(Double)

Vrátí absolutní hodnotu čísla s plovoucí desetinnou čárkou s dvojitou přesností.

Abs(Int16)

Vrátí absolutní hodnotu 16bitového celého čísla se znaménkem.

Abs(Int32)

Vrátí absolutní hodnotu čísla se znaménkem 32.

Abs(Int64)

Vrátí absolutní hodnotu čísla se znaménkem 64.

Abs(IntPtr)

Vrátí absolutní hodnotu čísla nativního znaménka.

Abs(SByte)

Vrátí absolutní hodnotu 8bitového celého čísla se znaménkem.

Abs(Single)

Vrátí absolutní hodnotu čísla s plovoucí desetinnou čárkou s jednoduchou přesností.

Acos(Double)

Vrací úhel, jehož kosinus je zadané číslo.

Acosh(Double)

Vrací úhel, jehož hyperbolický kosinus je zadané číslo.

Asin(Double)

Vrací úhel, jehož sinus je zadané číslo.

Asinh(Double)

Vrací úhel, jehož hyperbolický sinus je zadané číslo.

Atan(Double)

Vrací úhel, jehož tangens odpovídá určenému číslu.

Atan2(Double, Double)

Vrátí úhel, jehož tangens odpovídá podílu dvou zadaných čísel.

Atanh(Double)

Vrátí úhel, jehož hyperbolický tangens je zadané číslo.

BigMul(Int32, Int32)

Vytvoří úplný součt dvou 32bitových čísel.

BigMul(Int64, Int64, Int64)

Vytvoří úplný součt dvou 64bitových čísel.

BigMul(UInt64, UInt64, UInt64)

Vytvoří úplný součásek dvou 64bitových čísel bez znaménka.

BitDecrement(Double)

Vrátí nejbližší nejmenší hodnotu, která porovnává menší než x .

BitIncrement(Double)

Vrátí další největší hodnotu, která porovnává větší než x .

Cbrt(Double)

Vrátí kořenovou krychli zadaného čísla.

Ceiling(Decimal)

Vrátí nejmenší celočíselnou hodnotu, která je větší než nebo rovna zadanému desítkovému číslu.

Ceiling(Double)

Vrátí nejmenší celočíselnou hodnotu, která je větší nebo rovna zadanému číslu s plovoucí desetinnou čárkou s dvojitou přesností.

Clamp(Byte, Byte, Byte)

Vrátí value hodnotu vyšednutou na inkluzivní rozsah min hodnot a max .

Clamp(Decimal, Decimal, Decimal)

Vrátí value hodnotu vyšednutou na inkluzivní rozsah min hodnot a max .

Clamp(Double, Double, Double)

Vrátí value se do celkového rozsahu min a max .

Clamp(Int16, Int16, Int16)

Vrátí value se do celkového rozsahu min a max .

Clamp(Int32, Int32, Int32)

Vrátí value se do celkového rozsahu min a max .

Clamp(Int64, Int64, Int64)

Vrátí value se do celkového rozsahu min a max .

Clamp(IntPtr, IntPtr, IntPtr)

Vrátí value se do celkového rozsahu min a max .

Clamp(SByte, SByte, SByte)

Vrátí value se do celkového rozsahu min a max .

Clamp(Single, Single, Single)

Vrátí value se do celkového rozsahu min a max .

Clamp(UInt16, UInt16, UInt16)

Vrátí value se do celkového rozsahu min a max .

Clamp(UInt32, UInt32, UInt32)

Vrátí value se do celkového rozsahu min a max .

Clamp(UInt64, UInt64, UInt64)

Vrátí value se do celkového rozsahu min a max .

Clamp(UIntPtr, UIntPtr, UIntPtr)

Vrátí value se do celkového rozsahu min a max .

CopySign(Double, Double)

Vrátí hodnotu s velikostí a x znaménkem y .

Cos(Double)

Vrátí kosinus zadaného úhlu.

Cosh(Double)

Vrátí hyperbolický kosinus zadaného úhlu.

DivRem(Byte, Byte)

Vytvoří podíl a zbytek dvou 8bitových čísel bez znaménka.

DivRem(Int16, Int16)

Vytvoří podíl a zbytek dvou 16bitových čísel se znaménkem.

DivRem(Int32, Int32)

Vytvoří podíl a zbytek dvou 32bitových čísel se znaménkem.

DivRem(Int32, Int32, Int32)

Vypočítá podíl dvou 32bitových celých čísel se znaménkem a vrátí zbytek ve výstupním parametru.

DivRem(Int64, Int64)

Vytvoří podíl a zbytek dvou 64bitových čísel se znaménkem.

DivRem(Int64, Int64, Int64)

Vypočítá podíl dvou 64bitových celých čísel se znaménkem a vrátí zbytek ve výstupním parametru.

DivRem(IntPtr, IntPtr)

Vytvoří podíl a zbytek dvou čísel nativní velikosti se znaménkem.

DivRem(SByte, SByte)

Vytvoří podíl a zbytek dvou 8bitových čísel se znaménkem.

DivRem(UInt16, UInt16)

Vytvoří podíl a zbytek dvou 16bitových čísel bez znaménka.

DivRem(UInt32, UInt32)

Vytvoří podíl a zbytek dvou 32bitových čísel bez znaménka.

DivRem(UInt64, UInt64)

Vytvoří podíl a zbytek dvou 64bitových čísel bez znaménka.

DivRem(UIntPtr, UIntPtr)

Vytvoří podíl a zbytek dvou čísel nativní velikosti bez znaménka.

Exp(Double)

Vrátí e hodnotu uvolané na zadaný výkon.

Floor(Decimal)

Vrátí největší celočíselnou hodnotu menší nebo rovnu zadanému desetinnému číslu.

Floor(Double)

Vrátí největší celočíselnou hodnotu menší nebo rovnou zadanému číslu s plovoucí desetinnou čárkou a dvojitou přesností.

FusedMultiplyAdd(Double, Double, Double)

Vrátí (x * y) + z a zaokrouhlí se jako jedna Ternární operace.

IEEERemainder(Double, Double)

Vrátí zbývající výsledek z dělení zadaného čísla jiným zadaným číslem.

ILogB(Double)

Vrátí logaritmus desítkové hodnoty základního 2 zadaného čísla.

Log(Double)

Vrátí přirozený (základní e ) logaritmus zadaného čísla.

Log(Double, Double)

Vrátí logaritmus zadaného čísla v zadaném základu.

Log10(Double)

Vrátí logaritmus základu 10 zadaného čísla.

Log2(Double)

Vrátí logaritmus základu 2 zadaného čísla.

Max(Byte, Byte)

Vrátí větší ze dvou 8bitových celých čísel bez znaménka.

Max(Decimal, Decimal)

Vrátí větší ze dvou desetinných čísel.

Max(Double, Double)

Vrátí větší ze dvou čísel s plovoucí desetinnou čárkou s dvojitou přesností.

Max(Int16, Int16)

Vrátí větší ze dvou 16bitových celých čísel se znaménkem.

Max(Int32, Int32)

Vrátí větší ze dvou 32bitových celých čísel se znaménkem.

Max(Int64, Int64)

Vrátí větší ze dvou 64bitových celých čísel se znaménkem.

Max(IntPtr, IntPtr)

Vrátí větší ze dvou nativních celých čísel se znaménkem.

Max(SByte, SByte)

Vrátí větší ze dvou 8bitových celých čísel se znaménkem.

Max(Single, Single)

Vrátí větší ze dvou čísel s plovoucí desetinnou čárkou s jednou přesností.

Max(UInt16, UInt16)

Vrátí větší ze dvou 16bitových celých čísel bez znaménka.

Max(UInt32, UInt32)

Vrátí větší ze dvou 32bitových celých čísel bez znaménka.

Max(UInt64, UInt64)

Vrátí větší ze dvou 64bitových celých čísel bez znaménka.

Max(UIntPtr, UIntPtr)

Vrátí větší ze dvou nativních celých čísel bez znaménka.

MaxMagnitude(Double, Double)

Vrátí větší velikost dvou čísel s plovoucí desetinnou čárkou s dvojitou přesností.

Min(Byte, Byte)

Vrátí menší z 2 8 celých čísel bez znaménka.

Min(Decimal, Decimal)

Vrátí menší ze dvou desítkových čísel.

Min(Double, Double)

Vrátí menší ze dvou čísel s plovoucí desetinnou čárkou s dvojitou přesností.

Min(Int16, Int16)

Vrátí menší počet 2 16 celých čísel se znaménkem.

Min(Int32, Int32)

Vrátí menší počet 2 32 celých čísel se znaménkem.

Min(Int64, Int64)

Vrátí menší počet 2 64 celých čísel se znaménkem.

Min(IntPtr, IntPtr)

Vrátí menší ze dvou nativních podepsaných celých čísel.

Min(SByte, SByte)

Vrátí menší počet 2 8 celých čísel se znaménkem.

Min(Single, Single)

Vrátí menší ze dvou čísel s plovoucí desetinnou čárkou s jednoduchou přesností.

Min(UInt16, UInt16)

Vrátí menší z 2 16 celých čísel bez znaménka.

Min(UInt32, UInt32)

Vrátí menší z 2 32 celých čísel bez znaménka.

Min(UInt64, UInt64)

Vrátí menší z 2 64 celých čísel bez znaménka.

Min(UIntPtr, UIntPtr)

Vrátí menší ze dvou nativních celých čísel bez znaménka.

MinMagnitude(Double, Double)

Vrátí menší velikost dvou čísel s plovoucí desetinnou čárkou s dvojitou přesností.

Pow(Double, Double)

Vrátí zadané číslo umocněné na zadané napájení.

ReciprocalEstimate(Double)

Vrátí odhad reciproční hodnoty zadaného čísla.

ReciprocalSqrtEstimate(Double)

Vrátí odhad reciproční odmocniny odmocniny zadaného čísla.

Round(Decimal)

Zaokrouhlí desítkovou hodnotu na nejbližší celočíselnou hodnotu a zaokrouhlí střední hodnoty na nejbližší číslo.

Round(Decimal, Int32)

Zaokrouhlí desetinnou hodnotu na zadaný počet desetinných míst a zaokrouhlí střední hodnoty na nejbližší číslo.

Round(Decimal, Int32, MidpointRounding)

Zaokrouhlí desetinnou hodnotu na zadaný počet desetinných míst pomocí zadané konvence zaokrouhlení.

Round(Decimal, MidpointRounding)

Zaokrouhlí desetinnou hodnotu na celé číslo pomocí zadané konvence zaokrouhlení.

Round(Double)

Zaokrouhlí hodnotu s plovoucí desetinnou čárkou s dvojitou přesností na nejbližší celočíselnou hodnotu a zaokrouhlí střední hodnoty na nejbližší číslo s plovoucí desetinnou čárkou.

Round(Double, Int32)

Zaokrouhlí hodnotu s plovoucí desetinnou čárkou s dvojitou přesností na zadaný počet desetinných číslic a zaokrouhlí střední hodnoty na nejbližší číslo s plovoucí desetinnou čárkou.

Round(Double, Int32, MidpointRounding)

Zaokrouhlí hodnotu s plovoucí desetinnou čárkou s dvojitou přesností na zadaný počet desetinných číslic pomocí zadané konvence zaokrouhlení.

Round(Double, MidpointRounding)

Zaokrouhlí hodnotu s plovoucí desetinnou čárkou s dvojitou přesností na celé číslo pomocí zadané konvence zaokrouhlení.

ScaleB(Double, Int32)

Vrátí x * 2^n efektivně vypočítaných.

Sign(Decimal)

Vrátí celé číslo, které označuje znaménko desetinného čísla.

Sign(Double)

Vrátí celé číslo, které označuje znaménko čísla s plovoucí desetinnou čárkou s dvojitou přesností.

Sign(Int16)

Vrátí celé číslo, které označuje znaménko 16bitového celého čísla se znaménkem.

Sign(Int32)

Vrátí celé číslo, které označuje znaménko 32bitového celého čísla se znaménkem.

Sign(Int64)

Vrátí celé číslo, které označuje znaménko 64bitového celého čísla se znaménkem.

Sign(IntPtr)

Vrátí celé číslo, které označuje znaménko celého čísla se znaménkem nativní velikosti.

Sign(SByte)

Vrací celé číslo, které označuje znaménko 8bitového celého čísla se znaménkem.

Sign(Single)

Vrátí celé číslo, které označuje znaménko čísla s plovoucí desetinnou čárkou s jednoduchou přesností.

Sin(Double)

Vrací sinus určeného úhlu.

SinCos(Double)

Vrátí sinus a kosinus určeného úhlu.

Sinh(Double)

Vrací hyperbolický sinus určeného úhlu.

Sqrt(Double)

Vrátí druhou odmocninu určeného čísla.

Tan(Double)

Vrací tangens určeného úhlu.

Tanh(Double)

Vrací hyperbolický tangens určeného úhlu.

Truncate(Decimal)

Vypočítá integrální část zadaného desítkového čísla.

Truncate(Double)

Vypočítá integrální část zadaného čísla s plovoucí desetinnou čárkou a dvojitou přesností.

Platí pro