^运算符做什么?

时间:2011-07-01 18:45:52

标签: c# math

我以为^那样做了。 我期待:

10^0=1
10^1=10
10^2=100

我得到了什么

10^0=10
10^1=11
10^2=8

实际代码是

int value = 10 ^ exp;

将exp替换为0,1和2 ^运算符做什么?

9 个答案:

答案 0 :(得分:11)

Math.Pow(x,y)将x提升到y的幂。你在做XOR。 C# operators

答案 1 :(得分:3)

你想这样做:

Math.Pow(10, exp);

这实际上产生了一个double,所以如果你真的需要int,你需要把它丢掉。

答案 2 :(得分:2)

在c#中,^是logical XOR operator

答案 3 :(得分:1)

正如其他人所说,您需要使用Math.pow(x, y)在C#中执行x^y。 ^运算符实际上是两个数字位的逻辑XOR运算符。有关逻辑XOR的更多信息,请访问:http://msdn.microsoft.com/en-us/library/zkacc7k1.aspx

答案 4 :(得分:0)

没有这方面的操作员。使用Math.Pow

所有C# operators的完整列表都包含每个链接文档。

答案 5 :(得分:0)

Math.Power(10,exp) works like charm...

答案 6 :(得分:0)

在C#中,^运算符是逻辑XOR运算符。

http://msdn.microsoft.com/en-us/library/6a71f45d.aspx

答案 7 :(得分:0)

^是XOR运算符。

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

如果您想将数字提升到某个数字,请使用

Math.Pow(num, exp);

答案 8 :(得分:0)

问题是^相当于XOR,这就是为什么10 ^ 0 = 10因为

1010 XOR    1010 XOR
0000 =      0010 =
1010        1000

您需要使用Math.Pow方法。

P.S。 = 10 ^ 2实际上返回8 ...