Math.Pow(Double, Double) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert een opgegeven getal dat is verhoogd tot de opgegeven macht.
public:
static double Pow(double x, double y);
public static double Pow(double x, double y);
static member Pow : double * double -> double
Public Shared Function Pow (x As Double, y As Double) As Double
Parameters
- x
- Double
Een drijvendekommagetal met dubbele precisie dat moet worden verheven tot een macht.
- y
- Double
Een drijvendekommagetal met dubbele precisie dat een macht aangeeft.
Retouren
Het getal x dat tot de macht yis verheven.
Voorbeelden
In het volgende voorbeeld wordt de Pow methode gebruikt om de waarde te berekenen die het resultaat is van het verhogen van 2 tot een macht tussen 0 en 32.
int value = 2;
for (int power = 0; power <= 32; power++)
Console.WriteLine($"{value}^{power} = {(long)Math.Pow(value, power):N0} (0x{(long)Math.Pow(value, power):X})");
// 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)
open System
let value = 2
for power = 0 to 32 do
printfn $"{value}^{power} = {Math.Pow(value, power) |> int64:N0} (0x{Math.Pow(value, power) |> int64:X})"
// 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)
Public Module Example
Public Sub Main
Dim value As Integer = 2
For power As Integer = 0 To 32
Console.WriteLine("{0}^{1} = {2:N0} (0x{2:X})", _
value, power, CLng(Math.Pow(value, power)))
Next
End Sub
End Module
' 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)
Opmerkingen
De volgende tabel geeft de retourwaarde aan wanneer verschillende waarden of bereiken met waarden worden opgegeven voor de x en y parameters. Zie Double.PositiveInfinity, Double.NegativeInfinity en Double.NaN voor meer informatie.
| x | y | Retourwaarde |
|---|---|---|
Elke waarde, met uitzondering van NaN |
±0 | 1 |
NaN |
±0 | 1 (NaN in .NET Framework)* |
NaN |
Elke waarde behalve 0 | NaN* |
| ±0 | < 0 en een oneven geheel getal |
NegativeInfinity of PositiveInfinity |
| ±0 | NegativeInfinity |
PositiveInfinity |
| ±0 | PositiveInfinity |
+0 |
| ±0 | > 0 en een oneven geheel getal | ±0 |
| -1 |
NegativeInfinity of PositiveInfinity |
1 |
| +1 | Elke waarde, met uitzondering van NaN |
1 |
| +1 | NaN |
1 (NaN in .NET Framework)* |
| Elke waarde behalve 1 | NaN |
NaN* |
| -1 < x < 1 | PositiveInfinity |
+0 |
| < -1 of > 1 | PositiveInfinity |
PositiveInfinity |
| -1 < x < 1 | NegativeInfinity |
PositiveInfinity |
| < -1 of > 1 | NegativeInfinity |
+0 |
PositiveInfinity |
< 0 | +0 |
PositiveInfinity |
> 0 | PositiveInfinity |
NegativeInfinity |
< 0 en eindig en oneven geheel getal | 0- |
NegativeInfinity |
> 0 en eindig en oneven geheel getal | NegativeInfinity |
NegativeInfinity |
< 0 en eindig en geen oneven geheel getal | +0 |
NegativeInfinity |
> 0 en eindig en geen oneven geheel getal | PositiveInfinity |
| ±0 | < 0 en eindig en geen oneven geheel getal | PositiveInfinity |
| ±0 | > 0 en eindig en geen oneven geheel getal | +0 |
< 0, maar niet NegativeInfinity |
Eindig niet-geheel getal | NaN |
* Deze rijen worden niet weergegeven in de volledige set regels voor pow zoals gedefinieerd door de IEEE Standard voor Floating-Point Rekenkundige gegevens. Ze zijn hier opgenomen omdat .NET IEEE 754 drijvendekomma-uitzonderingen uitschakelt en dus geen onderscheid maakt tussen qNaN (stille NaN) en sNaN (signalering naN). Met de IEEE 754-specificatie kan deze uitzondering worden uitgeschakeld.
Deze methode roept de onderliggende C-runtime aan en het exacte resultaat of geldige invoerbereik kan verschillen tussen verschillende besturingssystemen of architecturen.