1

C#Console.WriteLine(16 ^ 2);で私に与える18

しかし、VB.NetではConsole.WriteLine(16 ^ 2)私に与えます256

なんでそうなの ?

4

2 に答える 2

6

C# では ^ はビットごとの XOR 演算子です。C# ^ 演算子

したがって、16 をビットで表すと、

10000

そして2は

00010

XOR は、オペランドの 1 つだけが対応する場所に 1 を持っている場合に 1 を取得することを意味します。

 10000
+00010
=10010

これは18に変換されます。

VB ではべき乗演算子です。VB ^ 演算子

2 の累乗で 16 をレイズした場合:

16 * 16 = 256
于 2013-08-03T08:12:09.533 に答える
2

Math.Pow(x, y)C# には関数があります。

しかし、VB.NET では、単純な数学で行うように、べき乗を示すために ^ が直接使用されます。

于 2013-08-03T08:15:44.840 に答える