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