2

在 JavaScript 中

215 ^ 150 = 65 

但是当我在 C# 中尝试时Math.POW(215, 150),我得到了 Infinite

为什么不是65?我应该如何在 C# 中获得 65?

4

2 回答 2

7

您忘记了^运算符不是幂运算符,而是按位异或。

11010111 (215)
10010110 (150)  XOR
--------
01000001 (65)

215 的 150 次方非常大,因此是无限的。

如果您想要 65,请使用215 ^ 150. Math.POW(x,y)但是,如果您想要 215 的 150 次方,那么您将需要使用可以支持的更大数字变量类型。我什至不确定BigInteger库是否可以处理这种规模的操作,但如果您想要这样做,那么值得一试。

于 2012-10-21T14:12:10.097 回答
5

使用相同的语法。215 ^ 150在 c# 中确实是 65。

^表示 XOR(在 Javascript 和 c# 中)不是 Math.Pow(x,y)

http://en.wikipedia.org/wiki/Exclusive_or

于 2012-10-21T14:12:15.517 回答