Я не так хорош в математике, и С#, похоже, не обеспечивает функцию силы поэтому мне было интересно, знает ли кто-нибудь, как я буду запускать такой расчет:
var dimensions = ((100*100) / (100.00^3.00));
Я не так хорош в математике, и С#, похоже, не обеспечивает функцию силы поэтому мне было интересно, знает ли кто-нибудь, как я буду запускать такой расчет:
var dimensions = ((100*100) / (100.00^3.00));
См. Math.Pow. Функция принимает значение и повышает его до заданной мощности:
Math.Pow(100.00, 3.00); // 100.00 ^ 3.00
Вы ищете статический метод Math.Pow()
.
Вам нужна функция Math.Pow
в System.Math
.
Не используйте Math.Pow
Когда я использую
for (int i = 0; i < 10e7; i++)
{
var x3 = x * x * x;
var y3 = y * y * y;
}
Это займет всего 230 мс, тогда как следующее занимает невероятное 7050 мсек:
for (int i = 0; i < 10e7; i++)
{
var x3 = Math.Pow(x, 3);
var y3 = Math.Pow(x, 3);
}
Ниже приведен код, вычисляющий мощность десятичного значения для RaiseToPower для значений -ve и +ve.
public decimal Power(decimal number, decimal raiseToPower)
{
decimal result = 0;
if (raiseToPower < 0)
{
raiseToPower *= -1;
result = 1 / number;
for (int i = 1; i < raiseToPower; i++)
{
result /= number;
}
}
else
{
result = number;
for (int i = 0; i <= raiseToPower; i++)
{
result *= number;
}
}
return result;
}
Math.Pow()
возвращает double
, поэтому было бы неплохо написать так:
double d = Math.Pow(100.00, 3.00);