2011-07-01 49 views
5

Tôi nghĩ rằng^đã làm điều đó. tôi mong đợi:Toán tử^làm gì?

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

gì tôi nhận được

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

mã thực tế là

int value = 10^exp; 

thay thế exp cho 0, 1, 2 và Gì^hành làm ?

+1

^không có nghĩa là "quyền lực" trong C#. Nó có vẻ là một xor opn – Sai

+5

Bạn đang làm XOR – Rahul

+1

^là XOR, không phải "Power Of": http://msdn.microsoft.com/en-us/library/zkacc7k1.aspx - không có "Power Of "Toán tử, nhưng một hàm thư viện: Math.Pow: http://msdn.microsoft.com/en-us/library/system.math.pow.aspx –

Trả lời

0

Không có toán tử nào cho điều này. Sử dụng Math.Pow.

Có danh sách đầy đủ tất cả các C# operators với tài liệu được liên kết trên mỗi tài khoản.

3

Bạn muốn làm:

Math.Pow(10, exp); 

Điều này thực sự tạo ra một double mặc dù vậy bạn sẽ cần phải cast nó xuống nếu bạn thực sự muốn có một int.

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

^là toán tử XOR logic – Nitesh

2

Trong C#,^là logical XOR operator.

+2

Nó cũng là __bitwise XOR__ và được sử dụng bởi OP –

1

Như những người khác đã nói, bạn cần bạn sử dụng Math.pow(x, y) để làm x^y trong C#. Toán tử^thực sự là toán tử XOR logic trên các bit của hai số. Bạn có thể tìm thêm thông tin về XOR hợp lý tại đây: http://msdn.microsoft.com/en-us/library/zkacc7k1.aspx

0

^ là các nhà điều hành XOR.

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

Nếu bạn muốn nâng cao một số đến một cường quốc, sử dụng

Math.Pow(num, exp); 
0

Cái này là ^ là tương đương cho XOR, đó là lý do tại sao 10^0 = 10 vì

1010 XOR 1010 XOR 
0000 =  0010 = 
1010  1000 

Bạn cần sử dụng phương thức Math.Pow.

P.S. = 10^2 thực sự trả lại 8 ...