我以为^那样做了。 我期待:
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 ^运算符做什么?
答案 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运算符。
答案 7 :(得分:0)
答案 8 :(得分:0)
问题是^
相当于XOR
,这就是为什么10 ^ 0 = 10因为
1010 XOR 1010 XOR
0000 = 0010 =
1010 1000
您需要使用Math.Pow方法。
P.S。 = 10 ^ 2实际上返回8 ...