如何计算C#的功率?

时间:2009-09-02 09:06:16

标签: c# math

我对数学并不是那么好,C#似乎没有提供强大的功能 所以我想知道是否有人知道如何运行这样的计算:

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

8 个答案:

答案 0 :(得分:67)

Math.Pow。该函数接受一个值并将其提升到指定的幂:

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

答案 1 :(得分:16)

您正在寻找静态方法Math.Pow()

答案 2 :(得分:7)

您想要的功能是Math.Pow中的System.Math

答案 3 :(得分:3)

请勿使用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);
}

答案 4 :(得分:1)

以下是为-ve和+ ve值计算RaiseToPower十进制值的幂的代码。

docker-compose up

答案 5 :(得分:1)

我之所以要回答这个问题,是因为我没有找到^为什么不能发挥作用的答案。 ^ operator in C#exclusive or运算符,缩写为 XOR A ^ B的{​​{3}}表明,只要输入不同,它就会输出true:

| Input |        |
| A | B | Output |
| - | - | ------ |
| 0 | 0 | 0      |
| 0 | 1 | 1      |
| 1 | 0 | 1      |
| 1 | 1 | 0      |

女巫的意思是100 ^ 3在幕后进行此计算:

hex   binary
100 = 0110 0100 
  3 = 0000 0011
---   --------- ^
103 = 0110 0111

With当然与truth table不同,结果为一百万。您可以使用该答案或其他现有答案之一。


由于C#尊重Math.Pow(100, 3),因此您也可以将代码缩短为相同的结果。

double dimensions = 100 * 100 / Math.Pow(100, 3); // == 0.01

答案 6 :(得分:0)

Math.Pow()返回double,这样写起来很好:

double d = Math.Pow(100.00, 3.00);

答案 7 :(得分:0)

对于2的幂:

var twoToThePowerOf = 1 << yourExponent;
// eg: 1 << 12 == 4096