2011-07-01 15 views
5

Myślałem, że^zrobiłem to. Spodziewałem:Co robi operator ^?

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

Co Dostaję

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

rzeczywisty kod jest

int value = 10^exp; 

zastępując exp 0, 1 i 2 Co robi^operatora zrobienia ?

+1

^nie oznacza "moc" w języku C#. Wydaje się być xor opn – Sai

+5

Robisz XOR – Rahul

+1

^jest XOR, a nie "Power Of": http://msdn.microsoft.com/en-us/library/zkacc7k1.aspx - nie ma "Power Of "Operator, ale funkcja biblioteczna: Math.Pow: http://msdn.microsoft.com/en-us/library/system.math.pow.aspx –

Odpowiedz

0

Nie ma operatora. Użyj Math.Pow.

Istnieje pełna lista wszystkich C# operators z powiązaną dokumentacją na każdym z nich.

3

Chcesz zrobić:

Math.Pow(10, exp); 

To rzeczywiście daje double choć tak musisz oddać ją w dół, jeśli naprawdę chcesz int.

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

^jest logicznym operatorem XOR – Nitesh

2

W języku C#,^jest numerem logical XOR operator.

+2

Jest to również __bitwise XOR__ i jest używane przez OP –

1

Tak jak mówili inni, musisz użyć Math.pow(x, y), aby wykonać x^y w języku C#. Operator^jest w rzeczywistości logicznym operatorem XOR na bitach dwóch liczb. Więcej informacji na temat logicznego XOR można znaleźć tutaj: http://msdn.microsoft.com/en-us/library/zkacc7k1.aspx

0

Chodzi o to, że ^ odpowiada za XOR, dlatego 10^0 = 10 ponieważ

1010 XOR 1010 XOR 
0000 =  0010 = 
1010  1000 

Należy użyć metody Math.Pow.

P.S. = 10^2 faktycznie zwraca 8 ...