我对数学并不是那么好,C#似乎没有提供强大的功能 所以我想知道是否有人知道如何运行这样的计算:
var dimensions = ((100*100) / (100.00^3.00));
答案 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