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

我发现一些奇怪的东西,如果我在Excel中使用下面的expression式和C#我得到不同的结果。

(1) ^ (-12) 

Excel给1和C#给-11。

哪一个是对的?

他们都是对的,因为在不同的背景下意味着不同的事物。

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

在Excel中,它是“权力”运算符,用于将一个数字提高到另一个数字(x y )的大小。

在Excel中^意味着取幂。 在C#中,它意味着按位独占或。 他们是完全不同的行动; 他们使用相同的符号只是一个巧合。

使用Math.Pow在C#中取幂。

那么,math上正确的答案是1。

回音(^)是C#中的一个逻辑XOR运算符( 请参阅文档 ),结果为11。

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