5 out of 10 rated this helpful - Rate this topic

# Math.Pow Method

.NET Framework 4.5

Returns a specified number raised to the specified power.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
```public static double Pow(
double x,
double y
)
```

#### Parameters

x
Type: System.Double

A double-precision floating-point number to be raised to a power.

y
Type: System.Double

A double-precision floating-point number that specifies a power.

#### Return Value

Type: System.Double
The number x raised to the power y.

The following table indicates the return value when various values or ranges of values are specified for the x and y parameters. For more information, see Double.PositiveInfinity, Double.NegativeInfinity, and Double.NaN.

Parameters

Return value

x or y = NaN.

NaN

x = Any value except NaN; y = 0.

1

x = NegativeInfinity; y < 0.

0

x = NegativeInfinity; y is a positive odd integer.

NegativeInfinity

x = NegativeInfinity; y is positive but not an odd integer.

PositiveInfinity

x < 0 but not NegativeInfinity; y is not an integer, NegativeInfinity, or PositiveInfinity.

NaN

x = -1; y = NegativeInfinity or PositiveInfinity.

NaN

-1 < x < 1; y = NegativeInfinity.

PositiveInfinity

-1 < x < 1; y = PositiveInfinity.

0

x < -1 or x > 1; y = NegativeInfinity.

0

x < -1 or x > 1; y = PositiveInfinity.

PositiveInfinity

x = 0; y < 0.

PositiveInfinity

x = 0; y > 0.

0

x = 1; y is any value except NaN.

1

x = PositiveInfinity; y < 0.

0

x = PositiveInfinity; y > 0.

PositiveInfinity

The following example uses the Pow method to calculate the value that results from raising 2 to a power ranging from 0 to 32.

```using System;

public class Example
{
public static void Main()
{
int value = 2;
for (int power = 0; power <= 32; power++)
Console.WriteLine("{0}^{1} = {2:N0} (0x{2:X})",
value, power, (long)Math.Pow(value, power));
}
}
// The example displays the following output:
//       2^0 = 1 (0x1)
//       2^1 = 2 (0x2)
//       2^2 = 4 (0x4)
//       2^3 = 8 (0x8)
//       2^4 = 16 (0x10)
//       2^5 = 32 (0x20)
//       2^6 = 64 (0x40)
//       2^7 = 128 (0x80)
//       2^8 = 256 (0x100)
//       2^9 = 512 (0x200)
//       2^10 = 1,024 (0x400)
//       2^11 = 2,048 (0x800)
//       2^12 = 4,096 (0x1000)
//       2^13 = 8,192 (0x2000)
//       2^14 = 16,384 (0x4000)
//       2^15 = 32,768 (0x8000)
//       2^16 = 65,536 (0x10000)
//       2^17 = 131,072 (0x20000)
//       2^18 = 262,144 (0x40000)
//       2^19 = 524,288 (0x80000)
//       2^20 = 1,048,576 (0x100000)
//       2^21 = 2,097,152 (0x200000)
//       2^22 = 4,194,304 (0x400000)
//       2^23 = 8,388,608 (0x800000)
//       2^24 = 16,777,216 (0x1000000)
//       2^25 = 33,554,432 (0x2000000)
//       2^26 = 67,108,864 (0x4000000)
//       2^27 = 134,217,728 (0x8000000)
//       2^28 = 268,435,456 (0x10000000)
//       2^29 = 536,870,912 (0x20000000)
//       2^30 = 1,073,741,824 (0x40000000)
//       2^31 = 2,147,483,648 (0x80000000)
//       2^32 = 4,294,967,296 (0x100000000)
```

#### .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

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.