2013-06-24 105 views
21

Tôi không chắc chắn về định nghĩa chính xác của thuật ngữ này.Tổng XOR là gì?

Tôi biết rằng thao tác XOR bitwise sẽ diễn ra từng chút một và lấy XOR của vị trí bit tương ứng một cách khôn ngoan. Kết quả này có được gọi là 'tổng XOR' không? Nếu không, tổng XOR là gì và bạn sử dụng XOR như thế nào để thực hiện bổ sung này?

+0

Đọc về [checksums] (http://en.wikipedia.org/wiki/Checksum). –

+1

'xorsum = Một xor B xor C xor .... xor N' –

+1

Bạn có thể tham chiếu đến thuật ngữ này không? Bạn đã foud nó ở đâu? XOR hoạt động như một adder bitwise mà không quan tâm đến carry. –

Trả lời

34

Trong một chút hoạt động XOR khôn ngoan:

a b a^b 
----------- 
0 0 0 
0 1 1 
1 0 1 
1 1 0 

XOR sum đề cập đến hoạt động XOR liên tiếp trên các số nguyên.
Giả sử bạn có các số từ 1 đến N và bạn phải tìm số tiền XOR của chúng sau đó cho N = 6, tổng XOR sẽ là 1^2^3^4^5^6 = 7.

1 = 001, 2 = 010, 3 = 011, 4 = 100, 5 = 101, 6 = 110 

1^2   = 1^2 = 001^010 = 011 = 3 
(1^2)^3  = 3^3 = 011^011 = 000 = 0 
(1^2^3)^4  = 0^4 = 000^100 = 100 = 4 
(1^2^3^4)^5 = 4^5 = 100^101 = 001 = 1 
(1^2^3^4^5)^6 = 1^6 = 001^110 = 111 = 7 --> XOR sum 

Hy vọng điều này sẽ hữu ích.