2009-09-02 9 views
39

ich mit der Mathematik und C# nicht so groß bin nicht ich habe mich gefragt, eine Macht-of-Funktion so zu bieten scheinen, ob jemand weiß, wie ich eine Berechnung wie folgt ausführen würde:Wie berechne ich Power-of in C#?

var dimensions = ((100*100)/(100.00^3.00)); 
+0

So 'var Dimensionen = 1.0f/100 '? :) – CompuChip

Antwort

55

Siehe Math.Pow. Die Funktion nimmt einen Wert und hebt sie auf eine bestimmte Leistung:

Math.Pow(100.00, 3.00); // 100.00^3.00 
+0

danke das war die endgültige Berechnung: var dimensions = (100 * 100)/(Math.Pow (100,00, 3,00)); – davethecoder

15

Sie suchen für die statische Methode Math.Pow().

7

Die gewünschte Funktion ist Math.Pow in System.Math.

1

Sie Math.Pow nicht

verwenden, wenn ich

for (int i = 0; i < 10e7; i++) 
{ 
    var x3 = x * x * x; 
    var y3 = y * y * y; 
} 

verwenden Es dauert nur 230 ms, während die folgende unglaubliche 7050 ms nimmt:

for (int i = 0; i < 10e7; i++) 
{ 
    var x3 = Math.Pow(x, 3); 
    var y3 = Math.Pow(x, 3); 
} 
+0

Gut, wir alle haben erwartet, dass Math.Pow langsamer sein wird. Aber nicht so viel. Warum? Jetzt machen wir Hausaufgaben und überprüfen, was der ** compiler generierte Code ** ist (sowohl cs als auch Assembly nach JIT), und Sie werden vielleicht überrascht sein. Versuchen Sie ... –

+0

Ich würde diese eine https://github.com/THEjoezack/ColorMine/tree/master/ColorMine/ColorSpaces überarbeiten, weil es etwas wie 'x * x * x' gibt, wo ich, obwohl ich 'verwenden könnte x^3', was ich nicht konnte, also versuchte ich 'Math.Pow' In der Referenzquelle von math.cs fand ich diese ' öffentliche statische extern Doppel Pow (Doppel x, Doppel y); ' Also ich konnte nicht in den Code schauen, was habe ich falsch gemacht? –

+0

Was soll ich dort herausfinden? –

Verwandte Themen