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

Programming

CODE: ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด์— ์ˆจ์–ด์žˆ๋Š” ์–ธ์–ด(1)

๋ฐ˜์‘ํ˜•

Prologue

๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์ด์šฉํ•˜๋Š” ํฐ ๋…ธ์ด๋งŒ ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜์˜ ์ปดํ“จํ„ฐ๋“ค์€ ๊ฑฐ์˜ ๋น„์Šทํ•œ ๋ช…๋ น์–ด๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

- ๋Œ€๋ถ€๋ถ„์˜  ํ”„๋กœ์„ธ์„œ๋Š” ์–ด๋–ค ํ”„๋กœ์„ธ์„œ๋ฅผ ์ด์šฉํ•˜๋”๋ผ๋„:

(1) ์™ธ๋ถ€ ๋ฉ”๋ชจ๋ฆฌ > ๋‚ด๋ถ€ ๋ ˆ์ง€์Šคํ„ฐ๋กœ ์ ‘๊ทผํ•˜๋Š” ๋กœ๋“œ ๋ช…๋ น์–ด๋ฅผ ๋ณด์œ 

(2) ๋‚ด๋ถ€ ๋ ˆ์ง€์Šคํ„ฐ > ์™ธ๋ถ€ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ธฐ๋Š” ์ €์žฅ ๋ช…๋ น์–ด๋ฅผ ๋ณด์œ 

(3) ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์ด์šฉํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์—ฐ์‚ฐ ๋ช…๋ น๊ณผ ๋‹ค์–‘ํ•œ ๋ถ„๊ธฐ ๋ช…๋ น์–ด๋ฅผ ๋ณด์œ 

 

์ปดํ“จํ„ฐ์˜ 'ํŒŒ์ผ'์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด์„œ ์ œ๋Œ€๋กœ ์•„๋Š” ๊ฒƒ์€ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

- ์ €์žฅ ์žฅ์น˜์— ์žˆ๋Š” ํŒŒ์ผ์ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋กœ๋“œ ๋˜๋Š”์ง€

- ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ํŒŒ์ผ์ด ์–ด๋–ป๊ฒŒ ์ €์žฅ์žฅ์น˜๋กœ ์ €์žฅ๋˜๋Š”์ง€

 

---

 

Chapter 1 ~ 6. ์†์ „๋“ฑ์œผ๋กœ ๋Œ€ํ™”ํ•˜๊ธฐ: ์ด์ง„(Binary)ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง„ ๋ถ€ํ˜ธ์˜ ์†์„ฑ์— ๋Œ€ํ•œ ํ†ต์ฐฐ๋ ฅ ๊ฐ€์ง€๊ธฐ

์†์ „๋“ฑ์„ ์ผœ๊ณ , ๋„๋Š” ํšŸ์ˆ˜๋กœ ์ž์Œ ๋ชจ์Œ์„ ํ‘œํ˜„ํ•˜์—ฌ ์˜์‚ฌ์†Œํ†ต์„ ์‹œ๋„ (A=1, B=2.. Z=27... )

> ๊ฐ„๋‹จํ•œ ๋ฌธ์žฅ ์ „๋‹ฌ์—๋„ 100๋ฒˆ์— ๋‹ฌํ•˜๋Š” on/off๊ฐ€ ํ•„์š”ํ•จ

>> ๋ชจ์Šค๋ถ€ํ˜ธ๋ฅผ ํ†ตํ•ด ๊ฐ ๋ฌธ์ž๋ณ„๋กœ ๋ถ€ํ˜ธ ์†์„ฑ(์ ,์„ )์ด ๋ถ€์—ฌ๋œ ๋ถ€ํ˜ธ(Code)๋ฅผ ํ• ๋‹นํ•˜์—ฌ ์งง์€ ์กฐํ•ฉ์œผ๋กœ ํ‘œํ˜„

>>> ์ ์ž์˜ ๋ถ€ํ˜ธ ์†์„ฑ: ํ‰ํ‰ํ•˜๊ฑฐ๋‚˜ / ๋ณผ๋กํ•˜๊ฑฐ๋‚˜์˜ ์ƒํƒœ๋ฅผ 6๊ฐœ์˜ ์ ์œผ๋กœ ์กฐํ•ฉํ•˜๋ฏ€๋กœ 2^6=64๊ฐœ์˜ ๋ถ€ํ˜ธ ํ‘œํ˜„ ๊ฐ€๋Šฅ

+ ํŠน์ • ๋ถ€ํ˜ธ ๋’ค์— ๋‚˜์˜ค๋Š” ๋ถ€ํ˜ธ์˜ ์˜๋ฏธ๋ฅผ ๋ฌธ์ž์—์„œ ์ˆซ์ž๋กœ, ์ˆซ์ž์—์„œ ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ถ€ํ˜ธ: ์‹œํ”„ํŠธ ๋ถ€ํ˜ธ

+ ํŠน์ • ๋ถ€ํ˜ธ ๋’ค์— ๋‚˜์˜ค๋Š” ๋ถ€ํ˜ธ๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ํ•ด์„ํ•˜๋Š” ๋ถ€ํ˜ธ: ์ด์Šค์ผ€์ดํ”„ ๋ถ€ํ˜ธ

>>>> ์ „๊ธฐํšŒ๋กœ์˜ ์Šค์œ„์น˜ ์†์„ฑ: ์Šค์œ„์น˜๋กœ ์ „๊ธฐ๊ฐ€ ํ๋ฅด๊ฒŒ ํ–ˆ๋‹ค๋ฉด ์ผฐ๋‹ค(ํšŒ๋กœ๊ฐ€ ๋‹ซํ˜”๋‹ค)/๋ฐ˜๋Œ€๋ผ๋ฉด ๊ป๋‹ค(ํšŒ๋กœ๊ฐ€ ์—ด๋ ธ๋‹ค)

+ ์ „์„ ์œผ๋กœ ์—ฐ๊ฒฐ ๋œ ํ•œ ์ชฝ ๋์—์„œ ์–ด๋–ค ์ผ์„ ํ•˜๋ฉด ๊ทธ๊ฒƒ์ด ์ „์„ ์˜ ๋งž์€ ํŽธ์—์„œ ์–ด๋–ค ์ผ์„ ์œ ๋ฐœ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค ๋ผ๋Š” ๊ฐœ๋…์—์„œ ์ฐฉ์•ˆ

>>>>> 150์—ฌ๋…„ ์ „ ์ด๋Ÿฌํ•œ ์ „์‹ (telegraph)์‹œ์Šคํ…œ์„ ์žฅ๊ฑฐ๋ฆฌ๋กœ ์—ฐ๊ฒฐํ•˜๋Š”๋ฐ ์ €ํ•ญ์œผ๋กœ ์ธํ•œ ๋ฌผ๋ฆฌ์  ๊ฑฐ๋ฆฌ ํ•œ๊ณ„๊ฐ€ ๋ฐœ์ƒ

>>>>>> ์ผ์ • ๊ฑฐ๋ฆฌ๋งˆ๋‹ค ์Œํ–ฅ๊ธฐ์™€ ์ „์‹ ์˜ ํ‚ค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์‚ฌ๋žŒ์„ ๋‘๊ณ , ์Œํ–ฅ๊ธฐ๋กœ ์ˆ˜์‹ ๋œ ๋ฉ”์‹œ์ง€๋ฅผ ๋‹ค์‹œ ํ‚ค๋กœ ์ „๋‹ฌํ•ด์ฃผ๋Š” ๋ฆด๋ ˆ์ด ๋ฐฉ์‹ ์ฑ„ํƒ

>>>>>>> ํ‚ค์™€ ์Œํ–ฅ๊ธฐ ์‚ฌ์ด์— ๋‹ค์‹œ ์ค‘๊ฐ„ ๊ธฐ๊ณ„๋ฅผ ๋‘์–ด ์ˆ˜์‹ ๋œ ๋ฉ”์‹œ์ง€๋ฅผ ์ž๋™์œผ๋กœ ์ „์†กํ•˜๋„๋ก ๊ฐœ์„ (์ค‘๊ณ„๊ธฐ, ์ฆ‰ ๋ฆด๋ ˆ์ด ์žฅ์น˜)

 

---

 

Chapter 7 ~ 8. ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” 10๊ฐœ์˜ ์ˆซ์ž๋“ค

- ์ˆซ์ž๋Š” ๋ฌธ์ž์— ๋น„ํ•ด ๋น„๊ต์  ๋ฌธํ™”์˜ ์˜ํ–ฅ์„ ๋œ ๋ฐ›๋Š” ๋ถ€ํ˜ธ์ž…๋‹ˆ๋‹ค.

- ์ˆซ์ž๋Š” ์•„๋งˆ๋„ ์šฐ๋ฆฌ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค๋ฃจ๋Š” ๋ถ€ํ˜ธ๋“ค ์ค‘ ๊ฐ€์žฅ ์ถ”์ƒํ™” ๋œ ํ˜•ํƒœ์˜ ๋ถ€ํ˜ธ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

--> 3์ด๋ž€ ์ˆซ์ž๋ฅผ ๋ณด๋ฉด ์‚ฌ๊ณผ ์„ธ ๊ฐœ, ์ฑ„๋„ ๋ฒˆํ˜ธ, ๊ฒŒ์ž„ ์ ์ˆ˜, ์ƒ์ผ๊ณผ ๊ฐ™์ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

--> five(๋‹ค์„ฏ)๊ณผ fist(์ฃผ๋จน)์ด ๊ฐ™์€ ์–ด์›์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋Š” ์ ์€ ๊ฒฐ์ฝ” ์šฐ์—ฐ์ด ์•„๋‹™๋‹ˆ๋‹ค.

--> ์ธ๊ฐ„์˜ ๋ชจ๋“  ์ˆ˜์ฒด๊ณ„๋Š” ๋‘ ์†์„ ํ•ฉ์นœ 10 ์ด๋ผ๋Š” ์ˆซ์ž์— ๊ธฐ๋ฐ˜์„ ๋‘๊ฒŒ ๋˜์–ด ์‹ญ์ง„์ˆ˜๋ผ ์ด์•ผ๊ธฐ ํ•ฉ๋‹ˆ๋‹ค.

 

์ด์ง„์ˆ˜์—์„œ๋Š” ๊ฐ€์žฅ ๋†’์€ ์ž๋ฆฟ์ˆ˜๊ฐ€ ํ•ญ์ƒ 1์ด๊ณ , ๊ทธ ๋’ค๋Š” 0์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ด์ง„์ˆ˜๋Š” ํ•ญ์ƒ 2์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ์ˆ˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์ด์ง„์ˆ˜์™€ ์‹ญ์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•œ 2์˜ ๊ฑฐ๋“ญ์ œ๊ณฑํ‘œ ์ž…๋‹ˆ๋‹ค.

 

2^0 = 1 = 1(10์ง„์ˆ˜)

2^1 = 10 = 2

2^2 = 100 = 4(

2^3 = 1000 = 8

2^4 = 10000 = 16

2^5 = 100000 = 32

2^6 = 1000000 = 64

2^7 = 10000000 = 128

2^8 = 100000000 = 256

2^9 = 1000000000 = 512

2^10 = 10000000000 = 1024

2^11 = 100000000000 = 2048

2^12 = 1000000000000 = 4096

 

101101011010์„ ์‹ญ์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•˜๋ ค๋ฉด

 

1 x 2048 +

0 x 1024 +

1 x 512 +

1 x 256 +

0 x 128 +

1 x 64 +

0 x 32 +

1 x 16 +

1 x 8 +

0 x 4 +

1 x 2 +

0 x 1

 

์ฆ‰, 2906์ด ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ๋‹ค์‹œ ์ด์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•˜๋ฉด

 

2^11 = 2048์ด๋ฏ€๋กœ ์ฒซ ๋ฒˆ์งธ ์ž๋ฆฌ์ˆ˜๋Š” 1,

1024 ์ œ์™ธ์ด๋ฏ€๋กœ 0 = 2048

512๋Š” 1 = 2048 + 512 = 2560

256๋Š” 1 = 2560+265 = 2816

128์€ ์ œ์™ธ

64๋Š” 1 = 2816+64 = 2880

32๋Š” ์ œ์™ธ

16์€ 1 = 2880+16 = 2896

8์€ 1 = 2896 + 8 = 2094

4๋Š” ์ œ์™ธ

2๋Š” 1 = 2094+2 = 2906

1์€ ์ œ์™ธ = 2906

 

์ฆ‰, 101101011010์œผ๋กœ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ด์™€ ๊ฐ™์ด, ์šฐ๋ฆฌ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ˆซ์ž ์ฒด๊ณ„๋ฅผ 0๊ณผ 1๋งŒ ์‚ฌ์šฉํ•˜๋Š” ์ด์ง„์ˆ˜ ์ฒด๊ณ„๋กœ๊นŒ์ง€ ๋‹จ์ˆœํ™” ์‹œ์ผฐ์œผ๋ฉฐ, ์ด์ง„์ˆ˜ ์ฒด๊ณ„๋Š” ์‚ฐ์ˆ  ์—ฐ์‚ฐ๊ณผ ์ „๊ธฐ์™€์˜ ์ฐจ์ด๋ฅผ ์ฑ„์›Œ์ค„ ์ˆ˜ ์žˆ๋Š” ์—ฐ๊ฒฐ๊ณ ๋ฆฌ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์•ž์„œ ์‚ดํŽด๋ณธ ์Šค์œ„์น˜, ์ „์„ , ์ „๊ตฌ, ๋ฆด๋ ˆ์ด ๊ทธ๋ฆฌ๊ณ  ์ด์™€ ์œ ์‚ฌํ•œ ๋ชจ๋“  ๊ฒƒ๋“ค์€ ๋ชจ๋‘ ์ด์ง„์ˆ˜์ธ 0๊ณผ 1๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

 

1948๋…„ ๊ฒฝ ๋ฏธ๊ตญ์˜ ์ˆ˜ํ•™์ž์ธ ์กด ์™€์ผ๋” ํ„ฐํ‚ค๋Š” ์ด์ง„์ˆ˜ ๋ผ๋Š” ๊ธด ์Œ์ ˆ ๋Œ€์‹  ๋ณด๋‹ค ์งง์€ ์Œ์ ˆ์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•จ์— ๋”ฐ๋ผ bit(๋น„ํŠธ)๋ผ๋Š” ์šฉ์–ด๊ฐ€ ํƒ„์ƒํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

๋ฐ˜์‘ํ˜•

'Programming' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Python print() function ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ  (0) 2023.11.11
Archives
Notice
Link
Visits
Today
Yesterday