在C#中Console.WriteLine(16 ^ 2);
给了我18
但是在VB.Net中Console.WriteLine(16 ^ 2)
给了我256
为什么会这样?
答案 0 :(得分:6)
在C#中,^是一个按位XOR运算符。 C# ^ Operator
所以如果你用16位代表
10000
2是
00010
XOR意味着如果只有一个操作数在相应位置具有1,则得到1:
10000
+00010
=10010
这意味着18。
在VB中,它是电源操作员。 VB ^ Operator
如果你以2的力量加注16,就好像你有:
16 * 16 = 256
答案 1 :(得分:2)
C#中有Math.Pow(x, y)
个函数。
但是在VB.NET中,^直接用于表示功能,就像我们在简单数学中那样。