例如,是否存在一个操作符来处理这个问题?
float Result, Number1, Number2;
Number1 = 2;
Number2 = 2;
Result = Number1 (operator) Number2;
在过去,^操作符在其他语言中用作指数操作符,但在c#中,它是位操作符。
我必须写一个循环或包含另一个命名空间来处理指数运算吗?如果是这样,我如何处理使用非整数的指数运算?
例如,是否存在一个操作符来处理这个问题?
float Result, Number1, Number2;
Number1 = 2;
Number2 = 2;
Result = Number1 (operator) Number2;
在过去,^操作符在其他语言中用作指数操作符,但在c#中,它是位操作符。
我必须写一个循环或包含另一个命名空间来处理指数运算吗?如果是这样,我如何处理使用非整数的指数运算?
当前回答
我无意中看到这篇文章,希望在我的代码中使用科学符号,我使用了
4.95*Math.Pow(10,-10);
但后来我发现你能做到
4.95E-10;
我只是想把这句话加给和我处境相似的人。
其他回答
无论如何,当取2的幂来定义二进制常数时,我确实忽略了^运算符。不能在这里使用Math.Pow(),但将无符号int(1)向左移动指数的值是可行的。当我需要定义一个常数(2^24)-1时:
public static int Phase_count = 24;
public static uint PatternDecimal_Max = ((uint)1 << Phase_count) - 1;
记住类型必须是(uint) << (int)。
在MSDN上有一篇关于c#团队为什么不存在指数运算符的博文。
可以加上一个幂 语言的运算符,但是 执行此操作是公平的 这在大多数程序中都很少见,而且 加上一个似乎不合理 调用Math.Pow()时的运算符是 简单。
你问:
我是否需要写一个循环或包含 另一个要处理的名称空间 指数操作吗?如果是,该怎么办 我处理指数运算用 非整数吗?
数学。Pow支持双参数,因此不需要自己编写。
我无意中看到这篇文章,希望在我的代码中使用科学符号,我使用了
4.95*Math.Pow(10,-10);
但后来我发现你能做到
4.95E-10;
我只是想把这句话加给和我处境相似的人。
c#语言没有强大的运算符。然而,. net框架提供了数学。战俘的方法:
返回指定数字的指定幂。
你的例子是这样的:
float Result, Number1, Number2;
Number1 = 2;
Number2 = 2;
Result = Math.Pow(Number1, Number2);
因为还没有人写过一个函数来处理两个整数,这里有一种方法:
private static long CalculatePower(int number, int powerOf)
{
long result = number;
for (int i = 2; i <= powerOf; i++)
result *= number;
return result;
}
或者在VB中。NET:
Private Function CalculatePower(ByVal number As Integer, ByVal powerOf As Integer) As Long
Dim result As Long = number
For i As Integer = 2 To powerOf
result = result * number
Next
Return result
End Function
CalculatePower(5, 3) ' 125
CalculatePower(8, 4) ' 4096
CalculatePower(6, 2) ' 36