MCP๋กœ ์—ฐ๊ฒฐ โ†’

๊ณ„์‚ฐ ์ž…๋ ฅ

๊ณต์‹

๊ด‘๊ณ 

๊ฒฐ๊ณผ

๋น„ํŠธ XOR (A ^ B)
6
10์ง„์ˆ˜
2์ง„์ˆ˜ A 101
2์ง„์ˆ˜ B 11
2์ง„์ˆ˜ XOR 110
16์ง„์ˆ˜ XOR 0x6

๋น„ํŠธ XOR ๊ณ„์‚ฐ๊ธฐ๋ž€?

๋น„ํŠธ XOR(๋ฐฐํƒ€์  ๋…ผ๋ฆฌํ•ฉ) ๊ณ„์‚ฐ๊ธฐ๋Š” ๋‘ ์ •์ˆ˜๋ฅผ ๋ฐ›์•„ ๋น„ํŠธ ๋‹จ์œ„๋กœ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ž๋ฆฟ์ˆ˜์—์„œ ๋‘ ์ž…๋ ฅ ๋น„ํŠธ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅด๋ฉด ๊ฒฐ๊ณผ ๋น„ํŠธ๋Š” 1์ด ๋˜๊ณ , ๋‘ ๋น„ํŠธ๊ฐ€ ๊ฐ™์œผ๋ฉด 0์ด ๋ฉ๋‹ˆ๋‹ค. XOR์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ๋””์ง€ํ„ธ ๋…ผ๋ฆฌ ํšŒ๋กœ, ์•”ํ˜ธํ•™, ์˜ค๋ฅ˜ ๊ฒ€์ถœ์—์„œ ์“ฐ์ด๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์—ฐ์‚ฐ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

์ฒซ ๋ฒˆ์งธ ์ •์ˆ˜(A)์™€ ๋‘ ๋ฒˆ์งธ ์ •์ˆ˜(B)๋ฅผ ์ž…๋ ฅํ•œ ๋’ค ์‹คํ–‰ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด์„ธ์š”. ๊ณ„์‚ฐ๊ธฐ๋Š” XOR ๊ฒฐ๊ณผ๋ฅผ 10์ง„์ˆ˜๋กœ ๋ณด์—ฌ์ฃผ๊ณ , ๋น„ํŠธ ๋‹จ์œ„๋กœ ์ง์ ‘ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก 2์ง„์ˆ˜์™€ 16์ง„์ˆ˜ ํ‘œํ˜„๋„ ํ•จ๊ป˜ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์–‘์˜ ์ •์ˆ˜์™€ ์Œ์˜ ์ •์ˆ˜ ๋ชจ๋‘ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณต์‹ ์„ค๋ช…

XOR์€ ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ A ^ B๋กœ, ์ˆ˜ํ•™ ํ‘œ๊ธฐ๋ฒ•์—์„œ๋Š” A โŠ• B๋กœ ํ‘œ๊ธฐํ•ฉ๋‹ˆ๋‹ค.

$$\text{Result} = \text{A} \oplus \text{B}$$

ํ•œ ๋น„ํŠธ์— ๋Œ€ํ•œ ์ง„๋ฆฌํ‘œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: \(0\oplus0=0\), \(0\oplus1=1\), \(1\oplus0=1\), \(1\oplus1=0\). ์ด ์—ฐ์‚ฐ์€ ๋ชจ๋“  ๋น„ํŠธ ์Œ์— ๋…๋ฆฝ์ ์œผ๋กœ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์œ ์šฉํ•œ ์„ฑ์งˆ๋กœ A ^ A = 0๊ณผ A ^ 0 = A๊ฐ€ ์žˆ๋Š”๋ฐ, ๋ฐ”๋กœ ์ด ๋•Œ๋ฌธ์— XOR์ด ๊ฐ’ ๊ตํ™˜(swap)์ด๋‚˜ ํ”Œ๋ž˜๊ทธ ํ† ๊ธ€์— ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.

0 XOR 0 = 0, 0 XOR 1 = 1, 1 XOR 0 = 1, 1 XOR 1 = 0 ์„ ๋ณด์—ฌ์ฃผ๋Š” XOR ์ง„๋ฆฌํ‘œ
XOR๋Š” ๋‘ ์ž…๋ ฅ ๋น„ํŠธ๊ฐ€ ๋‹ค๋ฅผ ๋•Œ๋งŒ 1์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ๋กœ ํ’€์–ด๋ณด๊ธฐ

A = 12, B = 10์ด๋ผ๊ณ  ํ•ด๋ด…์‹œ๋‹ค. 2์ง„์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด 12 = 1100, 10 = 1010์ž…๋‹ˆ๋‹ค. ๊ฐ ์ž๋ฆฟ์ˆ˜๋ฅผ ๋น„๊ตํ•˜๋ฉด \(1\oplus1=0\), \(1\oplus0=1\), \(0\oplus1=1\), \(0\oplus0=0\) ์ด ๋˜์–ด 0110 = 6 ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ

$$12 \oplus 10 = 6$$

์ž…๋‹ˆ๋‹ค.

๋‘ ์ด์ง„์ˆ˜๋ฅผ ์œ„์•„๋ž˜๋กœ ์Œ“๊ณ  ๊ฐ ๋น„ํŠธ ์—ด์„ XOR๋กœ ๊ฒฐํ•ฉํ•ด ๊ฒฐ๊ณผ ํ–‰์„ ๋งŒ๋“  ๊ทธ๋ฆผ
XOR๋Š” ์ •๋ ฌ๋œ ๊ฐ ๋น„ํŠธ ์ž๋ฆฌ๋งˆ๋‹ค ๋…๋ฆฝ์ ์œผ๋กœ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋น„ํŠธ ์—ฐ์‚ฐ ๋น„๊ต

๋ชจ๋“  ๋น„ํŠธ ์—ฐ์‚ฐ์€ ํ•œ ๋ฒˆ์— ํ•œ ๋น„ํŠธ์”ฉ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ž…๋ ฅ ๋น„ํŠธ \(A\)์™€ \(B\)์˜ ๊ฐ ์Œ์— ๋Œ€ํ•ด ์—ฐ์‚ฐ์€ ๋‹จ์ผ ์ถœ๋ ฅ ๋น„ํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ํ‘œ๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ 6๊ฐ€์ง€ ์—ฐ์‚ฐ์˜ ์™„์ „ํ•œ ๋‹จ์ผ ๋น„ํŠธ ์ง„๋ฆฌํ‘œ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. XOR(๋ฐฐํƒ€์  OR, \(A \oplus B\)๋กœ ํ‘œ๊ธฐ)์€ ๋‘ ์ž…๋ ฅ ๋น„ํŠธ๊ฐ€ ๋‹ค๋ฅผ ๋•Œ๋งŒ 1์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

A B AND (A&B) OR (A|B) XOR (A^B) NAND ~(A&B) NOR ~(A|B) XNOR ~(A^B)
0 0 0 0 0 1 1 1
0 1 0 1 1 1 0 0
1 0 0 1 1 1 0 0
1 1 1 1 0 0 0 1

XOR์€ XNOR์˜ ์ •ํ™•ํ•œ ์—ฌ์ง‘ํ•ฉ์ด๋ฉฐ, XOR์€ ์ž…๋ ฅ์ด ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ์ •ํ™•ํžˆ ๋‘ ํ–‰์—์„œ 1๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด "์ฐจ์ด ๊ฐ์ง€" ํŠน์„ฑ์ด XOR์„ ํŒจ๋ฆฌํ‹ฐ ๊ฒ€์‚ฌ, ๋‹จ์ˆœ ์•”ํ˜ธํ™” ๋ฐ ๋น„ํŠธ ํ† ๊ธ€์— ์œ ์šฉํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ณตํ†ต ์ž…๋ ฅ ์Œ์— ๋Œ€ํ•œ XOR

๋‹ค์Œ ํ‘œ๋Š” ๋น„ํŠธ XOR ์—ฐ์‚ฐ์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ ๋Œ€ํ‘œ์ ์ธ ์Œ์„ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ๊ฐ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ์ด์ง„๋ฒ•์œผ๋กœ ํ‘œ์‹œํ•œ ๋‹ค์Œ ๊ฒฐ๊ณผ๋ฅผ ์‹ญ์ง„๋ฒ•, ์ด์ง„๋ฒ• ๋ฐ ์‹ญ์œก์ง„๋ฒ•์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. XOR์€ ๋น„ํŠธ๋ณ„๋กœ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค: ๋‘ ์ด์ง„ ์ˆ˜๋ฅผ ์ •๋ ฌํ•˜๊ณ  ๋น„ํŠธ๊ฐ€ ๋‹ค๋ฅธ ๋ชจ๋“  ์œ„์น˜์—์„œ 1์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

A B A (์ด์ง„๋ฒ•) B (์ด์ง„๋ฒ•) A ^ B (์‹ญ์ง„๋ฒ•) A ^ B (์ด์ง„๋ฒ•) A ^ B (์‹ญ์œก์ง„๋ฒ•)
5 3 0101 0011 6 0110 0x6
255 15 11111111 00001111 240 11110000 0xF0
12 12 1100 1100 0 0000 0x0
7 0 0111 0000 7 0111 0x7
10 6 1010 0110 12 1100 0xC
-1 1 โ€ฆ11111111 โ€ฆ00000001 -2 โ€ฆ11111110 0xโ€ฆFE

๋‘ ๊ฐ€์ง€ ํŒจํ„ด์ด ๋‘๋“œ๋Ÿฌ์ง‘๋‹ˆ๋‹ค. ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ 0์ผ ๋•Œ, XOR์€ ๋‹ค๋ฅธ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค(\(7 \oplus 0 = 7\)). ๋‘ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ๋™์ผํ•  ๋•Œ, XOR์€ 0์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค(\(12 \oplus 12 = 0\)). ์Œ์ˆ˜ ์˜ˆ์ œ๋Š” 2์˜ ๋ณด์ˆ˜ ํ‘œํ˜„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค: \(-1\)์€ ๋ชจ๋“  1๋น„ํŠธ์ด๋ฏ€๋กœ, ์ด๋ฅผ ์ž„์˜์˜ ๊ฐ’๊ณผ XORํ•˜๋ฉด ๋ชจ๋“  ๋น„ํŠธ๋ฅผ ๋ฐ˜์ „์‹œํ‚ต๋‹ˆ๋‹ค(์ด๋Š” ๋น„ํŠธ NOT๊ณผ ๋™์ผํ•จ). \(-1 \oplus 1 = -2\)๋ฅผ ์ค๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

XOR์€ ๋ฌด์Šจ ๋œป์ธ๊ฐ€์š”? ๋ฐฐํƒ€์  ๋…ผ๋ฆฌํ•ฉ(Exclusive OR)์„ ์˜๋ฏธํ•˜๋ฉฐ, ๋‘ ์ž…๋ ฅ ์ค‘ ์ •ํ™•ํžˆ ํ•˜๋‚˜๋งŒ ์ฐธ(1)์ผ ๋•Œ๋งŒ ๊ฒฐ๊ณผ๊ฐ€ ์ฐธ์ด ๋ฉ๋‹ˆ๋‹ค.

์™œ XOR์ด ์•”ํ˜ธํ•™์—์„œ ์“ฐ์ด๋‚˜์š”? ๋ฐ์ดํ„ฐ๋ฅผ ํ‚ค์™€ XORํ•˜๋Š” ์—ฐ์‚ฐ์€ ๊ฐ€์—ญ์ ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ฐ™์€ ํ‚ค๋ฅผ ํ•œ ๋ฒˆ ๋” ์ ์šฉํ•˜๋ฉด ์›๋ž˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณต์›๋ฉ๋‹ˆ๋‹ค(\(A \oplus K \oplus K = A\)).

์Œ์ˆ˜๋„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ๋„ค. ์Œ์ˆ˜๋Š” 2์˜ ๋ณด์ˆ˜(two's complement) ํ‘œํ˜„์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์Œ์ˆ˜์˜ 2์ง„์ˆ˜ ํ‘œ์‹œ์—๋Š” ๋งŽ์€ ๋น„ํŠธ๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ตœ์ข… ์—…๋ฐ์ดํŠธ: