在C#和Excel中,两个不同的表达式会得出不同的结果。

3

我发现一件很奇怪的事情,如果我在Excel和C#中使用下面的表达式,我会得到不同的结果。

(1) ^ (-12)

Excel 返回 1,而C# 返回 -11。

哪个是正确的呢?


这取决于你。你想要什么结果?力量? - shahkalpesh
2
正确答案是42,不是任何一个选项。 - Servy
3个回答

19

在Excel中,^代表幂运算。而在C#中,它表示按位异或。这两者是完全不同的操作;只是碰巧它们使用了相同的符号。

在C#中使用Math.Pow进行幂运算。


13

他们都是正确的,因为在不同的环境下,^代表着不同的含义。

在C#中,它是用来执行按位异或运算的操作符。

而在Excel中,它是用来计算一个数的幂次方(xy)的"乘方" 运算符


6

数学上的正确答案是1。

在C#中,插入符号(^)是一个逻辑异或运算符(请参阅文档),其结果为11。

要在C#中将xy次方,可以使用Math.Pow(x, y)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接