2009-09-02 19 views
39

No soy tan grande con las matemáticas y C# no parece proporcionar una potencia de la función así que me preguntaba si alguien sabe cómo iba a ejecutar un cálculo de la siguiente manera:¿Cómo calculo la potencia de C#?

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

Así 'dimensiones var = 1.0f/100 ¿? :) – CompuChip

Respuesta

55

Ver Math.Pow. La función toma un valor y lo eleva a una potencia especificada:

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

gracias este fue el cálculo final: var dimensions = (100 * 100)/(Math.Pow (100.00, 3.00)); – davethecoder

15

Usted está buscando para el método estático Math.Pow().

7

La función que desea es Math.Pow en System.Math.

1

No utilice Math.Pow

Cuando uso

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

Sólo se tarda 230 ms mientras que la siguiente historia tiene increíbles 7050 ms:

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

Bien, todos esperábamos que Math.Pow fuera más lento. Pero no tanto. ¿Por qué? Ahora hagamos la tarea y verifiquemos cuál es ** el código generado por el compilador ** (tanto cs como ensamblados después de JIT) y es posible que se sorprenda. Intente ... –

+0

Iba a volver a trabajar este https://github.com/THEjoezack/ColorMine/tree/master/ColorMine/ColorSpaces porque hay algo como 'x * x * x' donde pensé que podría usar' x^3', lo que no pude, así que probé 'Math.Pow' En la fuente de referencia de math.cs encontré este ' public static extern double Pow (doble x, doble y); ' Así que no fue capaz de ver el código, ¿qué hice mal? –

+0

¿Qué debería encontrar allí? –

Cuestiones relacionadas