Math.Pow(Double, Double) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Returnerar ett angivet tal som har upphöjts till den angivna kraften.
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
Parametrar
- x
- Double
Ett flyttal med dubbel precision som ska höjas till en ström.
- y
- Double
Ett flyttal med dubbel precision som anger en effekt.
Returer
Talet x som har upphöjts till strömmen y.
Exempel
I följande exempel används Pow metoden för att beräkna värdet som resulterar från att höja 2 till en effekt mellan 0 och 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)
Kommentarer
Följande tabell anger returvärdet när olika värden eller intervall med värden anges för parametrarna x och y . Mer information finns i Double.PositiveInfinity, Double.NegativeInfinityoch Double.NaN.
| x | y | Returvärde |
|---|---|---|
Alla värden utom NaN |
±0 | 1 |
NaN |
±0 | 1 (NaN på .NET Framework)* |
NaN |
Alla värden utom 0 | NaN* |
| ±0 | < 0 och ett udda heltal |
NegativeInfinity eller PositiveInfinity |
| ±0 | NegativeInfinity |
PositiveInfinity |
| ±0 | PositiveInfinity |
+0 |
| ±0 | > 0 och ett udda heltal | ±0 |
| -1 |
NegativeInfinity eller PositiveInfinity |
1 |
| +1 | Alla värden utom NaN |
1 |
| +1 | NaN |
1 (NaN på .NET Framework)* |
| Alla värden utom 1 | NaN |
NaN* |
| -1 < x < 1 | PositiveInfinity |
+0 |
| < -1 eller > 1 | PositiveInfinity |
PositiveInfinity |
| -1 < x < 1 | NegativeInfinity |
PositiveInfinity |
| < -1 eller > 1 | NegativeInfinity |
+0 |
PositiveInfinity |
< 0 | +0 |
PositiveInfinity |
> 0 | PositiveInfinity |
NegativeInfinity |
< 0 och ändligt och udda heltal | 0– |
NegativeInfinity |
> 0 och ändligt och udda heltal | NegativeInfinity |
NegativeInfinity |
< 0 och ändlig och inte ett udda heltal | +0 |
NegativeInfinity |
> 0 och ändlig och inte ett udda heltal | PositiveInfinity |
| ±0 | < 0 och ändlig och inte ett udda heltal | PositiveInfinity |
| ±0 | > 0 och ändlig och inte ett udda heltal | +0 |
< 0 men inte NegativeInfinity |
Finita icke-heltal | NaN |
* Dessa rader visas inte i den fullständiga uppsättningen regler för pow enligt definitionen i IEEE Standard för Floating-Point Aritmetik. De ingår här eftersom .NET inaktiverar IEEE 754-undantag med flyttal och därför inte skiljer mellan qNaN (tyst NaN) och sNaN (signalering av NaN).
IEEE 754-specifikationen tillåter denna undantagsaktivering.
Den här metoden anropar den underliggande C-körningen och det exakta resultatet eller det giltiga indataintervallet kan skilja sig mellan olika operativsystem eller arkitekturer.