我发现一件很奇怪的事情,如果我在Excel和C#中使用下面的表达式,我会得到不同的结果。
(1) ^ (-12)
Excel 返回 1,而C# 返回 -11。
哪个是正确的呢?
在Excel中,^代表幂运算。而在C#中,它表示按位异或。这两者是完全不同的操作;只是碰巧它们使用了相同的符号。
^
在C#中使用Math.Pow进行幂运算。
Math.Pow
他们都是正确的,因为在不同的环境下,^代表着不同的含义。
在C#中,它是用来执行按位异或运算的操作符。
而在Excel中,它是用来计算一个数的幂次方(xy)的"乘方" 运算符。
数学上的正确答案是1。
在C#中,插入符号(^)是一个逻辑异或运算符(请参阅文档),其结果为11。
要在C#中将x的y次方,可以使用Math.Pow(x, y)。
x
y
Math.Pow(x, y)