2024-08-07 23:00:53
๋ฐ˜์‘ํ˜•

๋น„ํŠธ์—ฐ์‚ฐ์ž๋ž€?

๋ง ๊ทธ๋Œ€๋กœ ๋น„ํŠธ๋‹จ์œ„๋กœ ์—ฐ์‚ฐ์„ ์‹คํ–‰ํ•˜๋Š” ์—ฐ์‚ฐ์ž์ด๋‹ค

๋น„ํŠธ(bit) : ์ปดํ“จํ„ฐ์˜ ์ •๋ณด์˜ ๊ธฐ๋ณธ ์ตœ์†Œ๋‹จ์œ„๋ฅผ ์˜๋ฏธํ•œ๋‹ค

๋ฐ”์ดํŠธ(byte) : ์ •๋ณด๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œ๋‹จ์œ„๋ฅผ ์˜๋ฏธํ•œ๋‹ค

 

* 1bit๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋Š” 0 ๋˜๋Š” 1์ด๋‹ค

 

1. ๋…ผ๋ฆฌ๊ณฑ : & (AND) -> ๋‘  ๋น„ํŠธ๊ฐ€ ๋ชจ๋‘ 1์ด๋ฉด 1 (ํ•˜๋‚˜๋ผ๋„ 0์ด๋ผ๋ฉด 0)
2. ๋…ผ๋ฆฌํ•ฉ : | (OR) -> ๋‘ ๋น„ํŠธ์ค‘ ํ•˜๋‚˜๋ผ๋„ 1์ด๋ฉด 1 (๋‘˜๋‹ค 0์ด๋ผ๋ฉด 0)
3. ๋ฒ ํƒ€ ๋…ผ๋ฆฌํ•ฉ : ^ (XOR) -> ๋‘ ๋น„ํŠธ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅด๋ฉด 1 (์„œ๋กœ ๊ฐ™์œผ๋ฉด 0)
4. ๋…ผ๋ฆฌ๋ถ€์ • : ~ (NOT) -> 0์„ 1๋กœ, 1์„ 0์œผ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค

* ์ตœ์ƒ์œ„๋น„ํŠธ(๋ถ€ํ˜ธ๋น„ํŠธ) : ๋ถ€ํ˜ธ๋ฅผ ํ‘œ๊ธฐํ•˜๋Š” ๋น„ํŠธ (์–‘์ˆ˜๋Š” 0, ์Œ์ˆ˜๋Š” 1)

5. ์‰ฌํ”„ํŠธ ์—ฐ์‚ฐ์ž
- >> : ์šฐ์‰ฌํ”„ํŠธ -> ๋น„ํŠธ๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™์‹œํ‚จ๋‹ค
- << : ์ขŒ์‰ฌํ”„ํŠธ -> ๋น„ํŠธ๋ฅผ ์™ผ์ชฝ์œผ๋กœ ์ด๋™์‹œํ‚จ๋‹ค

 

์ œ์–ด๋ฌธ์ด๋ž€?

์ฝ”๋“œ์˜ ์‹คํ–‰์„ ์ œ์–ดํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

 

๊ทธ๋Ÿผ ๊ทธ ์ค‘์—์„œ๋„ ์กฐ๊ฑด๋ฌธ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.

 

์กฐ๊ฑด๋ฌธ์ด๋ž€, 

์กฐ๊ฑด์‹์˜ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค

์กฐ๊ฑด๋ฌธ์˜ ์ข…๋ฅ˜๋กœ๋Š” if๋ฌธ, if-else๋ฌธ, if else if๋ฌธ, swtich๋ฌธ ๋“ฑ์ด ์กด์žฌํ•œ๋‹ค

* ์กฐ๊ฑด์‹์€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด boolean ํƒ€์ž…์˜ true, false๊ฐ’์„ ์–ป๋Š” ์ฝ”๋“œ์ด๋‹ค.

 

if๋ฌธ>

if(์กฐ๊ฑด์‹) {
์กฐ๊ฑด์‹์ด ์ฐธ์ด๋ฉด ์‹คํ–‰ํ•  ์ฝ”๋“œ
}

* ์†Œ๊ด„ํ˜ธ ์•ˆ์— ์ž‘์„ฑํ•œ ์กฐ๊ฑด์‹์˜ ๊ฒฐ๊ณผ๊ฐ€ true๋ผ๋ฉด, ์ค‘๊ด„ํ˜ธ ์•ˆ์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค

if-else๋ฌธ>

if(์กฐ๊ฑด์‹) {
์กฐ๊ฑด์‹์ด ์ฐธ์ด๋ฉด ์‹คํ–‰ํ•  ์ฝ”๋“œ
}
else {
์กฐ๊ฑด์‹์ด ๊ฑฐ์ง“์ด๋ฉด ์‹คํ–‰ํ•  ์ฝ”๋“œ
}

* ์†Œ๊ด„ํ˜ธ ์•ˆ์— ์ž‘์„ฑํ•œ ์กฐ๊ฑด์‹์˜ ๊ฒฐ๊ณผ๊ฐ€ true๋ผ๋ฉด, if์˜†์˜ ์ค‘๊ด„ํ˜ธ ์•ˆ์˜
์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ๋งŒ์•ฝ false๋ผ๋ฉด, else ์˜†์˜ ์ค‘๊ด„ํ˜ธ ์•ˆ์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค

* else๋Š” ๋‹จ๋… ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•œ๋‹ค(ํ•ญ์ƒ if์™€ ํ•จ๊ป˜ ์ž‘์„ฑ)
* else๋Š” ์กฐ๊ฑด์‹์„ ์ž‘์„ฑํ•˜์ง€ ์•Š๋Š”๋‹ค

๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ if์™€ else์˜ ์‚ฌ์šฉ์˜ˆ์ œ

if-else-if๋ฌธ>

if(์กฐ๊ฑด์‹1) {
์กฐ๊ฑด์‹1์ด ์ฐธ์ด๋ฉด ์‹คํ–‰ํ•  ์ฝ”๋“œ
}
else if (์กฐ๊ฑด์‹2) {
์กฐ๊ฑด์‹1์ด ๊ฑฐ์ง“์ด๊ณ 
์กฐ๊ฑด์‹2๊ฐ€ ์ฐธ์ด๋ฉด ์‹คํ–‰ํ•  ์ฝ”๋“œ
}
else if (์กฐ๊ฑด์‹3) {
์กฐ๊ฑด์‹1์ด ๊ฑฐ์ง“์ด๊ณ 
์กฐ๊ฑด์‹2๊ฐ€ ๊ฑฐ์ง“์ด๊ณ 
์กฐ๊ฑด์‹3์ด ์ฐธ์ด๋ฉด ์‹คํ–‰ํ•  ์ฝ”๋“œ
}
else {
์กฐ๊ฑด์‹1, ์กฐ๊ฑด์‹2, ์กฐ๊ฑด์‹3์ด ๊ฑฐ์ง“์ผ ๋•Œ ์‹คํ–‰ํ•  ์ฝ”๋“œ
}

* else if๋Š” ์œ„์—์„œ ์•„๋ž˜๋กœ ๋‚ด๋ ค๊ฐ€๋ฉด์„œ ์กฐ๊ฑด์‹์„ ํŒ๋ณ„ํ•œ๋‹ค (์œ„์˜ ์กฐ๊ฑด์‹์ด ๊ฑฐ์ง“์ผ ๊ฒฝ์šฐ์—)

* else if๋Š” ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•œ๋‹ค
* else๋Š” ์„ ํƒ์‚ฌํ•ญ์ด๋‹ค



switch๋ฌธ>

switch(๋ณ€์ˆ˜) {
case ๊ฐ’1 : 
๋ณ€์ˆ˜์˜ ๊ฐ’์ด ๊ฐ’1๊ณผ ์ผ์น˜ํ•˜๋ฉด ์‹คํ–‰ํ•  ์ฝ”๋“œ
break; -> ์•„๋ž˜์˜ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š๋„๋ก(switch ์˜์—ญ์„ ๋ฒ—์–ด๋‚œ๋‹ค)
case ๊ฐ’2 :
๋ณ€์ˆ˜์˜ ๊ฐ’์ด ๊ฐ’2์™€ ์ผ์น˜ํ•˜๋ฉด ์‹คํ–‰ํ•  ์ฝ”๋“œ
break; 
...
default :
๋ณ€์ˆ˜์˜ ๊ฐ’์ด ๋ชจ๋“   case์˜ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ์ทจ์†Œ
}

* ๋ณ€์ˆ˜ == ๊ฐ’1์™€ ๊ฐ™์€ ์ผ์น˜ ๋น„๊ต๊ฐ€ ์ง„ํ–‰๋œ๋‹ค

 

if๋ฌธ ๊ฐ™์€๊ฒฝ์šฐ๋Š” ์‚ฌ์šฉ ๋ฌธ๋ฒ•์ด ์–ด๋ ค์šด ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค๋งŒ ํ™•์‹คํ•˜๊ฒŒ ์•Œ์ง€ ๋ชปํ•˜๋ฉด

ํ•ด๋ฉ”์ด๊ฒŒ๋˜๋Š” ๋ฌธ๋ฒ•์ด๋‹ค.

 

728x90