2

JavaScript で

215 ^ 150 = 65 

しかし、C#で試してみるとMath.POW(215, 150)、無限になります

なぜそうではないの65ですか?C# で 65 を取得するにはどうすればよいですか?

4

2 に答える 2

7

^演算子が to-the-power-of 演算子ではなく、ビットごとの XOR であることを忘れています。

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

215 の 150 乗はとてつもなく大きいので、無限です。

65 が必要な場合は、 を使用します215 ^ 150。ただし、215 の 150 乗が必要な場合は、Math.POW(x,y)サポートできるはるかに大きな数値変数型を使用する必要があります。BigIntegerライブラリがその規模の操作を処理できるかどうかさえわかりませんが、それが必要な場合は試してみる価値があります。

于 2012-10-21T14:12:10.097 に答える
5

同じ構文を使用します。215 ^ 150c# では実際には 65 です。

^XOR (Javascript と c# の両方) を意味し、Math.Pow(x,y) ではありません

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

于 2012-10-21T14:12:15.517 に答える