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

์ปดํ“จํŒ… ์‚ฌ๊ณ  - 2์ง„๋ฒ•

by vividmin 2022. 2. 2.
320x100

๐Ÿ“boostcourse ์˜ '๋ชจ๋‘๋ฅผ ์œ„ํ•œ ์ปดํ“จํ„ฐ ๊ณผํ•™ (CS50 2019)' ์„ ๋“ฃ๊ณ  ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

 

์ปดํ“จํ„ฐ ๊ณผํ•™
  • ๋ฌธ์ œ ํ•ด๊ฒฐ์— ๋Œ€ํ•œ ํ•™๋ฌธ์ด๋‹ค.
  • ๋ฌธ์ œํ•ด๊ฒฐ
    • ์ž…๋ ฅ(Input) ์„ ์ „๋‹ฌ ๋ฐ›์•„์„œ → ์ถœ๋ ฅ(Output)์„ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ณผ์ •
    • ์—ฌ๊ธฐ์„œ ์ค‘๊ฐ„์— ์žˆ๋Š” ์—ญํ• ์ด ๋ฐ”๋กœ ์ปดํ“จํ„ฐ ๊ณผํ•™!
    • ์ด๋Ÿฌํ•œ ์ž…/์ถœ๋ ฅ์„ ํ‘œํ˜„ ํ•˜๋ ค๋ฉด ๋ชจ๋‘๊ฐ€ ๋™์˜ํ•  ์•ฝ์†, ์ฆ‰ ํ‘œ์ค€์ด ํ•„์š”ํ•˜๋‹ค.
    • ๋”ฐ๋ผ์„œ ์ปดํ“จํ„ฐ ๊ณผํ•™์˜ ์ฒซ ๋ฒˆ์งธ ๊ฐœ๋…์€ ์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ• ์ง€์— ๋Œ€ํ•œ ํ‘œํ˜„๋ฐฉ๋ฒ•์ด๋‹ค.

 

 

2์ง„๋ฒ•
  • 10์ง„๋ฒ•
    • ์ผ์ƒ์—์„œ ์“ฐ๋Š” 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10 ์ด 10๊ฐœ์˜ ๊ธฐํ˜ธ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ
    • ex) 123 = 10² x 1 + 10¹ x 2 + 10โฐ x 3 ๋กœ ํ‘œ์‹œ
  • 2์ง„๋ฒ•
    • ์ปดํ“จํ„ฐ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•
    • ์˜ค์ง 0, 1 ๋กœ๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•
    • ์ปดํ“จํ„ฐ๋Š” ์ˆซ์ž ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ธ€์ž, ์‚ฌ์ง„, ์˜์ƒ, ์†Œ๋ฆฌ ๋“ค๋„ 2์ง„๋ฒ•์œผ๋กœ ์ €์žฅ์ด ๊ฐ€๋Šฅํ•˜๋‹ค
    • ex) 3 = 2² x 0 + 2¹ x 1 + 2โฐ x 1 ๋กœ ํ‘œ์‹œ
    • ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์€ ์ „๊ธฐ๋ฅผ ํ†ตํ•ด ์—ฐ์‚ฐํ•˜๋Š” ์ปดํ“จํ„ฐ์—๊ฒŒ ์ ํ•ฉํ•œ ๋ฐฉ์‹
    • ์ปดํ“จํ„ฐ์—๋Š” ๊ต‰์žฅํžˆ ๋งŽ์€ ์Šค์œ„์น˜(ํŠธ๋žœ์ง€์Šคํ„ฐ)๊ฐ€ ์žˆ๊ณ  ON/OFF๋ฐฉ์‹์œผ๋กœ 0๊ณผ 1์„ ํ‘œํ˜„ํ•œ๋‹ค.
  • ๋น„ํŠธ(bit) : ์ปดํ“จํ„ฐ๋Š” 2์ง„๋ฒ•์—์„œ ํ•˜๋‚˜์˜ ์ž๋ฆฟ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋‹จ์œ„๋ฅผ ๋น„ํŠธ๋ผ๊ณ  ํ•œ๋‹ค.

 

 

๋น„ํŠธ(bit)
  • ์ปดํ“จํ„ฐ๊ฐ€ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ , ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์“ฐ๋Š” ์ธก์ • ๋‹จ์œ„
  • ์ด์ง„ ์ˆซ์ž ๋ผ๋Š” ๋œป์„ ๊ฐ€์ง„ 'binary digit'์˜ ์ค„์ž„๋ง, 0๊ณผ 1 ๋‘๊ฐ€์ง€ ๊ฐ‘๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ธก์ • ๋‹จ์œ„
  • ์—ฌ๋Ÿฌ ๋น„ํŠธ๋“ค๋กœ 0๊ณผ 1๋งŒ์œผ๋กœ๋„ ๋งŽ์€ ์–‘์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Œ
  • ์ปดํ“จํ„ฐ๋Š” ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ๋น„ํŠธ์— ์ˆ˜ํ•™์  ์—ฐ์‚ฐ๋„ ์ˆ˜ํ–‰๊ฐ€๋Šฅ

 

๋น„ํŠธ์—ด
  • ํ•˜๋‚˜์˜ bit๋Š” 0๊ณผ 1 ๋‘ ๊ฐ€์ง€ ๊ฐ’๋งŒ ์ €์žฅ๊ฐ€๋Šฅ (์Šค์œ„์น˜ ์ผœ๊ธฐ = 1, ๋„๊ธฐ = 0 ์ด๋ผ๊ณ  ์ƒ๊ฐ)
  • bitํ•˜๋‚˜๊ฐ€ ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ์—๋Š” ๋ถ€์กฑํ•˜์—ฌ ์—ฌ๋Ÿฌ ์ˆซ์ž ์กฐํ•ฉ์„ ์ปดํ“จํ„ฐ์— ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด์„œ ๋น„ํŠธ์—ด์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • byte
    • 8๊ฐœ์˜ bit์˜ ์กฐํ•ฉ
    • 1 byte = 8 bit → 2โธ = 256 ๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐ”์ดํŠธ๊ฐ€ ์กด์žฌ๊ฐ€๋Šฅํ•˜๋‹ค.
    • byte๊ฐ€ ๋ชจ์ด๋ฉด ๋” ํฐ ๋‹จ์œ„๋„ ๊ฐ€๋Šฅํ•˜๋‹ค ( kb, mb, gb ...)

 

๐Ÿ‘€ 5๋ฅผ 2์ง„๋ฒ•์œผ๋กœ ๋ฐ”๊พธ์–ด๋ณธ๋‹ค๋ฉด? โฌ‡

๋”๋ณด๊ธฐ

 

5 = 2^2 x 1 + 2^1 x 0 + 2^0 x 1 = 101

 

 

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€