Math Class

Provides constants and static methods for trigonometric, logarithmic, and other common mathematical functions.

To browse the .NET Framework source code for this type, see the Reference Source.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

public ref class Math abstract sealed

The Math type exposes the following members.

  NameDescription
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAbs(Decimal)Returns the absolute value of a Decimal number.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAbs(Double)Returns the absolute value of a double-precision floating-point number.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAbs(Int16)Returns the absolute value of a 16-bit signed integer.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAbs(Int32)Returns the absolute value of a 32-bit signed integer.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAbs(Int64)Returns the absolute value of a 64-bit signed integer.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAbs(SByte)Returns the absolute value of an 8-bit signed integer.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAbs(Single)Returns the absolute value of a single-precision floating-point number.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAcosReturns the angle whose cosine is the specified number.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAsinReturns the angle whose sine is the specified number.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAtanReturns the angle whose tangent is the specified number.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsAtan2Returns the angle whose tangent is the quotient of two specified numbers.
Public methodStatic memberBigMulProduces the full product of two 32-bit numbers.
Public methodStatic memberSupported by Portable Class LibrarySupported in .NET for Windows Store appsCeiling(Decimal)Returns the smallest integral value that is greater than or equal to the specified decimal number.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsCeiling(Double)Returns the smallest integral value that is greater than or equal to the specified double-precision floating-point number.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsCosReturns the cosine of the specified angle.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsCoshReturns the hyperbolic cosine of the specified angle.
Public methodStatic memberDivRem(Int32, Int32, Int32%)Calculates the quotient of two 32-bit signed integers and also returns the remainder in an output parameter.
Public methodStatic memberDivRem(Int64, Int64, Int64%)Calculates the quotient of two 64-bit signed integers and also returns the remainder in an output parameter.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsExpReturns e raised to the specified power.
Public methodStatic memberSupported by Portable Class LibrarySupported in .NET for Windows Store appsFloor(Decimal)Returns the largest integer less than or equal to the specified decimal number.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsFloor(Double)Returns the largest integer less than or equal to the specified double-precision floating-point number.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsIEEERemainderReturns the remainder resulting from the division of a specified number by another specified number.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsLog(Double)Returns the natural (base e) logarithm of a specified number.
Public methodStatic memberSupported by Portable Class LibrarySupported in .NET for Windows Store appsLog(Double, Double)Returns the logarithm of a specified number in a specified base.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsLog10Returns the base 10 logarithm of a specified number.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax(Byte, Byte)Returns the larger of two 8-bit unsigned integers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax(Decimal, Decimal)Returns the larger of two decimal numbers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax(Double, Double)Returns the larger of two double-precision floating-point numbers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax(Int16, Int16)Returns the larger of two 16-bit signed integers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax(Int32, Int32)Returns the larger of two 32-bit signed integers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax(Int64, Int64)Returns the larger of two 64-bit signed integers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax(SByte, SByte)Returns the larger of two 8-bit signed integers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax(Single, Single)Returns the larger of two single-precision floating-point numbers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax(UInt16, UInt16)Returns the larger of two 16-bit unsigned integers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax(UInt32, UInt32)Returns the larger of two 32-bit unsigned integers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMax(UInt64, UInt64)Returns the larger of two 64-bit unsigned integers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin(Byte, Byte)Returns the smaller of two 8-bit unsigned integers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin(Decimal, Decimal)Returns the smaller of two decimal numbers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin(Double, Double)Returns the smaller of two double-precision floating-point numbers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin(Int16, Int16)Returns the smaller of two 16-bit signed integers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin(Int32, Int32)Returns the smaller of two 32-bit signed integers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin(Int64, Int64)Returns the smaller of two 64-bit signed integers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin(SByte, SByte)Returns the smaller of two 8-bit signed integers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin(Single, Single)Returns the smaller of two single-precision floating-point numbers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin(UInt16, UInt16)Returns the smaller of two 16-bit unsigned integers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin(UInt32, UInt32)Returns the smaller of two 32-bit unsigned integers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsMin(UInt64, UInt64)Returns the smaller of two 64-bit unsigned integers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsPowReturns a specified number raised to the specified power.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsRound(Decimal)Rounds a decimal value to the nearest integral value.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsRound(Double)Rounds a double-precision floating-point value to the nearest integral value.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsRound(Decimal, Int32)Rounds a decimal value to a specified number of fractional digits.
Public methodStatic memberSupported by Portable Class LibrarySupported in .NET for Windows Store appsRound(Decimal, MidpointRounding)Rounds a decimal value to the nearest integer. A parameter specifies how to round the value if it is midway between two numbers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsRound(Double, Int32)Rounds a double-precision floating-point value to a specified number of fractional digits.
Public methodStatic memberSupported by Portable Class LibrarySupported in .NET for Windows Store appsRound(Double, MidpointRounding)Rounds a double-precision floating-point value to the nearest integer. A parameter specifies how to round the value if it is midway between two numbers.
Public methodStatic memberSupported by Portable Class LibrarySupported in .NET for Windows Store appsRound(Decimal, Int32, MidpointRounding)Rounds a decimal value to a specified number of fractional digits. A parameter specifies how to round the value if it is midway between two numbers.
Public methodStatic memberSupported by Portable Class LibrarySupported in .NET for Windows Store appsRound(Double, Int32, MidpointRounding)Rounds a double-precision floating-point value to a specified number of fractional digits. A parameter specifies how to round the value if it is midway between two numbers.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSign(Decimal)Returns a value indicating the sign of a decimal number.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSign(Double)Returns a value indicating the sign of a double-precision floating-point number.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSign(Int16)Returns a value indicating the sign of a 16-bit signed integer.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSign(Int32)Returns a value indicating the sign of a 32-bit signed integer.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSign(Int64)Returns a value indicating the sign of a 64-bit signed integer.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSign(SByte)Returns a value indicating the sign of an 8-bit signed integer.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSign(Single)Returns a value indicating the sign of a single-precision floating-point number.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSinReturns the sine of the specified angle.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSinhReturns the hyperbolic sine of the specified angle.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsSqrtReturns the square root of a specified number.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsTanReturns the tangent of the specified angle.
Public methodStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsTanhReturns the hyperbolic tangent of the specified angle.
Public methodStatic memberSupported by Portable Class LibrarySupported in .NET for Windows Store appsTruncate(Decimal)Calculates the integral part of a specified decimal number.
Public methodStatic memberSupported by Portable Class LibrarySupported in .NET for Windows Store appsTruncate(Double)Calculates the integral part of a specified double-precision floating-point number.
Top

  NameDescription
Public fieldStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsERepresents the natural logarithmic base, specified by the constant, e.
Public fieldStatic memberSupported by the XNA FrameworkSupported by Portable Class LibrarySupported in .NET for Windows Store appsPIRepresents the ratio of the circumference of a circle to its diameter, specified by the constant, π.
Top

NoteNote

To view the .NET Framework source code for this type, see the Reference Source. You can browse through the source code online, download the reference for offline viewing, and step through the sources (including patches and updates) during debugging; see instructions.

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

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft