在 JavaScript 中
215 ^ 150 = 65
但是当我在 C# 中尝试时Math.POW(215, 150)
,我得到了 Infinite
为什么不是65
?我应该如何在 C# 中获得 65?
在 JavaScript 中
215 ^ 150 = 65
但是当我在 C# 中尝试时Math.POW(215, 150)
,我得到了 Infinite
为什么不是65
?我应该如何在 C# 中获得 65?
您忘记了^
运算符不是幂运算符,而是按位异或。
11010111 (215)
10010110 (150) XOR
--------
01000001 (65)
215 的 150 次方非常大,因此是无限的。
如果您想要 65,请使用215 ^ 150
. Math.POW(x,y)
但是,如果您想要 215 的 150 次方,那么您将需要使用可以支持的更大数字变量类型。我什至不确定BigInteger库是否可以处理这种规模的操作,但如果您想要这样做,那么值得一试。
使用相同的语法。215 ^ 150
在 c# 中确实是 65。
^
表示 XOR(在 Javascript 和 c# 中)不是 Math.Pow(x,y)