๋นํธ์ฐ์ฐ์
์ผ์ชฝ ์ํํธ(<<)
์ค๋ฅธ์ชฝ ์ํํธ(>>)
์ซ์์ ๋ชจ๋ ๋นํธ๋ฅผ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋์ํจ๋ค. ๊ฐ์ฅ ์ฐ์ธก์ ์๋ ์ซ์๊ฐ ๋ฐ๋ ค๋๊ฐ๋ฉด ๊ทธ๋ฅ ๋ฒ๋ฆฐ๋ค.
x >> y ํ์์ผ๋ก ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋๊ณ x์ ๋นํธ๋ฅผ ์ผ์ชฝ์ผ๋ก y์นธ ์ด๋์ํจ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
ex) 1111 >> 2 = 11
1111(15) ์ด 11(3)๋ก ๋ณํ๋๋ ๊ฒ์ ๋ณด๋ฉด x / 2^y ์ผ๋ก ๋๋จธ์ง๋ฅผ ์ ์ธํ ๋ชซ์ ๋ฐํํ๋ค.
๋นํธ์ ๋ณด์(~)
์ด์ง์์ ๋ชจ๋ ๋นํธ๋ฅผ ๋ฐ๋๋ก ๋ฐ๊พผ๋ค. 0 ์ด๋ฉด 1, 1์ด๋ฉด 0์ผ๋ก ๋ฐ๊พผ๋ค. ๋ณด์๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ 32์๋ฆฌ๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ ๋ฐํํ๋ค.
~x ํ์์ผ๋ก ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๊ณ x์ ๋ณด์๋ฅผ ๊ตฌํ๋ผ๋ ์๋ฏธ์ด๋ค.
ex) ~0110 = 11111111111111111111111111111001
๊ธฐ์กด ์์ ์๋ฆฌ๋ 0์ผ๋ก ๊ฐ์ฃผํ์ฌ 1๋ก ๋ฐ๋๊ณ 1์ด์๋ ์๋ฆฌ๋ 0์ผ๋ก ๋ฐ๋๋ค.
JAVA ์์
๊ฒฐ๊ณผ
AND(&)
OR(|)
๊ธฐ๋ณธ OR ์ฐ์ฐ์์ฒ๋ผ ํด๋น ์๋ฆฌ์์์ ํ๋๋ผ๋ 1์ธ ๊ฒฝ์ฐ 1์ ๋ฐํํ๊ณ ๋๋ค 0์ธ ๊ฒฝ์ฐ 0์ ๋ฐํํ๋ค.
x | y ํํ๋ก ์ฌ์ฉํ๊ณ ์๋ฏธ์ ์ซ์ x ์ y๋ฅผ ๋น๊ตํ๋ค.
XOR(^)
x ^ y ํํ๋ก ์ฌ์ฉํ๊ณ ํด๋น ์๋ฆฌ์์์ ์๋ก ๋ค๋ฅธ ๊ฒฝ์ฐ 1์ ๋ฐํํ๊ณ ๊ฐ์ ๊ฒฝ์ฐ 0์ ๋ฐํํ๋ค.
ex) 1111 & 1000 = 111
๋๊ธ