๐ก ๋ ์ด์์ ์กฐ๊ฑด์ ‘๊ทธ๋ฆฌ๊ณ (AND)’๋ ‘๋๋(OR)’์ผ๋ก ์ฐ๊ฒฐํ์ฌ ํ๋์ ์์ผ๋ก ํํํ ์ ์๊ฒ ํด ์ค๋ค.
1. ๋ ผ๋ฆฌ ์ฐ์ฐ์ && || !
&&: ํผ์ฐ์ฐ์ ์์ชฝ ๋ชจ๋ true์ด์ด์ผ true๋ก ๊ฒฐ๊ณผ๋ฅผ ์ป๋๋ค.
||: ํผ์ฐ์ฐ์ ์ค ์ด๋ ํ์ชฝ์ true์ด๋ฉด true๋ก ๊ฒฐ๊ณผ๋ก ์ป๋๋ค.
์์
1. x๋ 10๋ณด๋ค ํฌ๊ณ , 20๋ณด๋ค ์๋ค.
10 < x && x < 20
2. i๋ 2์ ๋ฐฐ์ ๋๋ 3์ ๋ฐฐ์์ด๋ค.
i % 2 == 0 || i % 3 == 0
3. i๋ 2์ ๋ฐฐ์ ๋๋ 3์ ๋ฐฐ์์ง๋ง 6์ ๋ฐฐ์๋ ์๋๋ค.
(i % 2 == 0 || i % 3 == 0) && i % 6 != 0
์ฃผ์: ‘&&’๊ฐ ‘| | ’๋ณด๋ค ์ฐ์ ์์๊ฐ ๋๋ค.
4. ๋ฌธ์ ch๋ ์ซ์(’ 0’ ~ ‘9’)์ด๋ค.
'0' <= ch && ch <= '9'
ํจ์จ์ ์ธ ์ฐ์ฐ
- OR์ฐ์ฐ( || )
๋ ํผ์ฐ์ฐ์ ์ค ์ด๋ ํ์ชฝ๋ง ‘์ฐธ’์ด์ด๋ ์ฐ์ฐ๊ฒฐ๊ณผ๊ฐ ‘์ฐธ’์ด๋ฏ๋ก
์ข์ธก ํผ์ฐ์ฐ์๊ฐ true์ด๋ฉด, ์ฐ์ธก ํผ์ฐ์ฐ์์ ๊ฐ์ ํ๊ฐํ์ง ์๋๋ค.
- AND์ฐ์ฐ( && )
๋ ํผ์ฐ์ฐ์ ์ค ์ด๋ ํ ์ชฝ๋ง ‘๊ฑฐ์ง’์ด์ด๋ ์ ์ฒด ์ฐ์ฐ ๊ฒฐ๊ณผ๊ฐ ‘๊ฑฐ์ง’์ด๋ฏ๋ก
์ข์ธก ํผ์ฐ์ฐ์๊ฐ false์ด๋ฉด, ์ฐ์ธก ํผ์ฐ์ฐ์์ ๊ฐ์ ํ๊ฐํ์ง ์๋๋ค.
⇒ ๋ถํ์ํ ์ฐ์ฐ์ ํ์ง ์์ผ๋ฏ๋ก ํจ์จ์ ์ด๋ค!
๋ ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์ !
๐ก ํผ์ฐ์ฐ์๊ฐ true์ด๋ฉด false๋ฅผ, false์ด๋ฉด true๋ฅผ ๊ฒฐ๊ณผ๋ก ๋ฐํํ๋ค.
ex) ๋ฌธ์ ch๋ ์๋ฌธ์๊ฐ ์๋๋ค.
ch < 'a' || ch > 'z'
๋ ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ ์ดํดํ๊ธฐ ์ฝ๋๋ก ๋ฐ๊ฟ๋ณด์.
! ('a' <= ch && ch <= 'z')
ex)
bolean b = true;
System.out.println(!!b); // true
๋จํญ ์ฐ์ฐ์์ ๊ฒฐํฉ ๋ฐฉํฅ ์ค๋ฅธ์ชฝ → ์ผ์ชฝ
!! b
→!! true
→ ! false
→ true
2. ๋นํธ ์ฐ์ฐ์ & I ^ ~ << >>
| (OR์ฐ์ฐ์): ํผ์ฐ์ฐ์ ์ค ํ์ชฝ์ ๊ฐ์ด 1์ด๋ฉด, 1์ ๊ฒฐ๊ณผ๋ก ์ป๋๋ค. ๊ทธ ์ธ์๋ 0์ ์ป๋๋ค.
& (AND์ฐ์ฐ์): ํผ์ฐ์ฐ์ ์ค ์์ชฝ ๋ชจ๋ 1์ด์ด์ผ๋ง, 1์ ๊ฒฐ๊ณผ๋ก ์ป๋๋ค. ๊ทธ ์ธ์๋ 0์ ์ป๋๋ค.
^ (XOR์ฐ์ฐ์): ํผ์ฐ์ฐ์์ ๊ฐ์ด ์๋ก ๋ค๋ฅผ ๋๋ง, 1์ ๊ฒฐ๊ณผ๋ก ์ป๋๋ค. ๊ทธ ์ธ์๋ 0์ ์ป๋๋ค.
| (OR์ฐ์ฐ์)
ํน์ ๋นํธ์ ๊ฐ์ ๋ณ๊ฒฝํ ๋ ์ฌ์ฉ
& (AND์ฐ์ฐ์)
ํน์ ๋นํธ์ ๊ฐ์ ๋ฝ์๋ผ ๋ ์ฌ์ฉ
^ (XOR์ฐ์ฐ์)
XOR์ฐ์ฐ์ 2๋ฒ ํ๋ฉด ์๋์ ๊ฐ์ผ๋ก ๋์์จ๋ค. ๊ฐ๋จํ ์ํธํ์ ์ฌ์ฉ
ํ์ฌ๋ ์ดํด๋ฅผ ๋๊ธฐ ์ํด 2์ง์๋ฅผ 8bit๋ก ํํํ์์ง๋ง ๋นํธ ์ฐ์ฐ์์๋ ํผ์ฐ์ฐ์์ ํ์ ์ ์ผ์น์ํค๋ ‘์ฐ์ ๋ณํ’์ด ์ผ์ด๋์ int๋ณด๋ค ์์ ๋จ์์ ๊ฒฝ์ฐ intํ์ผ๋ก ์ฐ์ฐ์ด ์คํ๋๋ฏ๋ก 32bit๋ก ํํํ๋ ๊ฒ์ด ๋ง๋ค.
๋นํธ ์ ํ ์ฐ์ฐ์ ~
๐ก ํผ์ฐ์ฐ์๋ฅผ 2์ง์๋ก ํํํ์ ๋, 0์ 1๋ก, 1์ 0์ผ๋ก ๋ฐ๊พผ๋ค.
- 1์ ๋ณด์ ์ฐ์ฐ์
- ์์๋ฅผ 2์ง์๋ก ํํํ๋ ๋ฐฉ๋ฒ
โ์์ ์ ์ P๊ฐ ์์ ๋, P์ ๋ํ ์์ ์ ์๋ฅผ ์ป์ผ๋ ค๋ฉด?
์์์ 1์ ๋ณด์๋ฅผ ๊ตฌํ ํ +1์ ํ๋ค.
⇒ 1์ ๋ณด์๋ฅผ ๊ตฌํ๋ ๊ณผ์ ์์ ๋นํธ ์ ํ ์ฐ์ฐ์(~) ์ฌ์ฉ
⇒ ~p + 1
* ์ฐ์ฐ ํ์ ์ด byte๊ฐ ์๋๋ผ int๋ผ๋ ๊ฒ ์ฃผ์!
์ฌํํธ ์ฐ์ฐ์ << >>
1. <<
2. >>
์ผ์ชฝ ํผ์ฐ์ฐ์๊ฐ ์์์ธ ๊ฒฝ์ฐ ๋น์๋ฆฌ๋ฅผ 1๋ก ์ฑ์ด๋ค.
์ผ์ชฝ ํผ์ฐ์ฐ์๊ฐ ์์์ธ ๊ฒฝ์ฐ ๋น์๋ฆฌ๋ฅผ 0์ผ๋ก ์ฑ์ด๋ค.
์ฌํํธ ์ฐ์ฐ์์ ๊ท์น
xใใ n ๋๋ xใใn์์, n์ ๊ฐ์ด ์๋ฃํ์ bit ์ ๋ณด๋ค ํฐ ๊ฒฝ์ฐ
⇒ ์๋ฃํ์ bit์๋ก ๋๋ ๋๋จธ์ง๋งํผ๋ง ์ด๋ํ๋ค.
์์
int ํ์ ์ 4byte(=32bit)
8 >> 32
์๋ฆฌ ์๋ฅผ 32๋ฒ ๋ฐ๊พธ๋ฉด ๊ฒฐ๊ตญ ์ ์๋ฆฌ๋ก ๋์์์ ์๋ฌด ์ผ๋ ํ์ง ์๋๋ค.
8 >> 34
34๋ฅผ 32๋ก ๋๋ ๋๋จธ์ง์ธ 2๋งํผ๋ง ์ด๋ํ๋ 8 >> 2๋ฅผ ์ํํ๋ค.
* n์ ์ ์๋ง ๊ฐ๋ฅํ๋ฉฐ ์์์ธ ๊ฒฝ์ฐ, ๋ถํธ ์๋ ์ ์๋ก ์๋ ๋ณํ๋๋ค.
Reference
์๋ฐ์ ์ ์ - ๋จ๊ถ ์ฑ
'๐ Book > ์๋ฐ์ ์ ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
4-1์ฅ ์กฐ๊ฑด๋ฌธ (0) | 2023.03.29 |
---|---|
3-6์ฅ ๊ธฐํ ์ฐ์ฐ์ (0) | 2023.03.14 |
3-4์ฅ ๋น๊ต ์ฐ์ฐ์ (0) | 2023.03.14 |
3-3์ฅ ์ฐ์ ์ฐ์ฐ์ (0) | 2023.03.14 |
3-2์ฅ ๋จํญ ์ฐ์ฐ์ (0) | 2023.03.14 |
๋๊ธ