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

may*_*rki 3 c# excel

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

(1) ^ (-12)
Run Code Online (Sandbox Code Playgroud)

Excel给出1和c#给出-11.

哪一个是对的?

Eri*_*ert 19

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

使用Math.Pow在C#幂.


Jon*_*eet 13

他们都是对的,因为^在不同的环境中意味着不同的东西.

在C#中,它是按位XOR运算符.

在Excel中,它是用于将一个数字提升到另一个数字(x y)的"幂"运算符.


dav*_*v83 6

那么,数学上正确的答案是1.

circumflex(^)是C#中的逻辑XOR运算符(参见文档),结果为11.

要提高c#x的功率y,请使用Math.Pow(x, y).