两个不同的表达式导致c#和excel

时间:2013-04-24 19:47:09

标签: c# excel

我发现一些非常奇怪的东西,如果我在excel和c#中使用下面的表达式,我会得到不同的结果。

(1) ^ (-12)

Excel给出1,c#给出-11。

哪一个是对的?

3 个答案:

答案 0 :(得分:19)

在Excel中^表示取幂。在C#中,它表示按位排他或。它们是完全不同的操作;他们使用相同的符号只是巧合。

使用Math.Pow进行C#中的取幂。

答案 1 :(得分:13)

他们都是对的,因为^在不同的背景下意味着不同的东西。

在C#中,它是bitwise XOR operator

在Excel中,"power" operator用于将一个数字提升到另一个数字(x y )。

答案 2 :(得分:6)

嗯,数学上正确的答案是1。

抑扬符号(^)是C#(see the documentation)中的逻辑XOR运算符,结果为11。

要将x提升为c#中的y,请使用Math.Pow(x, y)