๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Tech/Data Structure & Algorithm

๐Ÿ“š ์ง„๋ฒ•๋ณ€ํ™˜ & ๋น„ํŠธ์—ฐ์‚ฐ

๐Ÿ“Œ ์ง„๋ฒ•๋ณ€ํ™˜

์ง„๋ฒ•์ด๋ž€? ์ˆ˜๋ฅผ ์…€ ๋•Œ ์ž๋ฆฌ์ˆ˜๊ฐ€ ์˜ฌ๋ผ๊ฐ€๋Š” ๋‹จ์œ„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•˜๋Š” ์…ˆ๋ฒ•์˜ ์ด์นญ ์‚ฌ์šฉํ•˜๋Š” ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ง„๋ฒ•์˜ ์ˆซ์ž๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
์ง„๋ฒ•์„ ์™œ ์‚ฌ์šฉํ• ๊นŒ? CPU๋Š” 2์ง„๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

  • bin(10์ง„์ˆ˜) : 10์ง„์ˆ˜๋ฅผ 2์ง„์ˆ˜์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜
  • oct(10์ง„์ˆ˜) : 10์ง„์ˆ˜๋ฅผ 8์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜
  • hex(10์ง„์ˆ˜) : 10์ง„์ˆ˜๋ฅผ 16์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜(16์ง„์ˆ˜์—์„œ๋Š” 10์€ a, 11์€ b, ... , 15๋Š” f๋กœ ์‚ฌ์šฉ)
  • int(๊ฐ’) : ๊ฐ’์„ 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜

๐Ÿ“Œ ๋น„ํŠธ์—ฐ์‚ฐ

  1. ๋น„ํŠธ์—ฐ์‚ฐ์˜ ์ข…๋ฅ˜
    • & (AND) : ๊ฐ ์ž๋ฆฟ์ˆ˜๋ฅผ ๋น„๊ตํ•˜์—ฌ ๋‘˜๋‹ค 1์ผ ๊ฒฝ์šฐ 1, ์•„๋‹ˆ๋ฉด 0์„ ๋ฐ˜ํ™˜
a b return
0 0 0
1 0 0
0 1 0
1 1 1
  • | (OR) : ๊ฐ ์ž๋ฆฟ์ˆ˜๋ฅผ ๋น„๊ตํ•˜์—ฌ ๋‘˜ ์ค‘ ํ•˜๋‚˜๊ฐ€ 1์ผ ๊ฒฝ์šฐ 1, ์•„๋‹ˆ๋ฉด 0์„ ๋ฐ˜ํ™˜
a b return
0 0 0
1 0 1
0 1 1
1 1 1
  • ^ (XOR) : ๊ฐ ์ž๋ฆฟ์ˆ˜๋ฅผ ๋น„๊ตํ•˜์—ฌ ๋‹ค๋ฅด๋ฉด 1, ๊ฐ™์œผ๋ฉด 0์„ ๋ฐ˜ํ™˜
a b return
0 0 0
1 0 1
0 1 1
1 1 0
  • ~ (NOT) : ๋น„ํŠธ ๋ฐ˜์ „ ์—ฐ์‚ฐ์ž. 1์€ 0์œผ๋กœ, 0์€ 1๋กœ ๋ณ€ํ™˜
  • <<, >> (SHIFT) : ๋น„ํŠธ ์ด๋™ ์—ฐ์‚ฐ์ž
  • << : ์™ผ์ชฝ์œผ๋กœ ์ฃผ์–ด์ง„ ์ˆ˜๋งŒํผ ์˜ฎ๊น€
  • >> : ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ฃผ์–ด์ง„ ์ˆ˜๋งŒํผ ์˜ฎ๊น€

๐Ÿ“Œ ๋น„ํŠธ์—ฐ์‚ฐ๊ณผ 10์ง„๋ฒ•

: 35 | 5 → 100011 | 101 → 100111 → 39

๐Ÿ“Œ ๋น„ํŠธ์—ฐ์‚ฐ ํ™œ์šฉ

1) ์ปดํ“จํ„ฐ ์—ฐ์‚ฐ์„ ์œ„ํ•œ ๋น„ํŠธ ํ•„๋“œ
2) ๋ฐ์ดํ„ฐ์˜ ์••์ถ• ๋ฐ ์•”ํ˜ธํ™”
3) ์œ ํ•œ ์ƒํƒœ ๊ธฐ๊ณ„
4) ์ปดํ“จํ„ฐ ํ†ต์‹ ์„ ์œ„ํ•œ ํฌํŠธ ๋ฐ ์†Œ์ผ“