Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
JjungminLee committed Jan 7, 2025
2 parents e2aa3a4 + 4adaa64 commit f76319a
Show file tree
Hide file tree
Showing 2 changed files with 297 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,229 @@
@ -1,128 +0,0 @@
# 2.3 ์ง„๋ฒ•์˜ ์˜๋ฏธ

- ์ง„๋ฒ• -> ์œ ํ•œํ•œ ๊ฐœ์ˆ˜์˜ ์‹ฌ๋ณผ๋กœ ๋ชจ๋“  ๊ฒƒ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค
-> 0์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค

- 10์ง„๋ฒ•
'์ž๋ฆฟ์ˆ˜'์™€ '๋‚˜๋จธ์ง€'์˜ ๊ฐœ๋…์ด ๋ฌด์ฒ™์ด๋‚˜ ์ค‘์š”ํ•˜๋‹ค
ex) 432(10) = (4x100+3x10+2X1)
2๋Š” 10์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€, 3์€ 100์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค

- 2์ง„๋ฒ• -> 8์ง„๋ฒ•, 16์ง„๋ฒ•์œผ๋กœ์˜ ๋ณ€ํ™˜
8์ง„๋ฒ•, 8๊ฐœ์˜ ์ธ์ž๋ฅผ ๊ฐ€์ง(0~7)
16์ง„๋ฒ•, 16๊ฐœ์˜ ์ธ์ž๋ฅผ ๊ฐ€์ง(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
2์ง„์ˆ˜ 3๋น„ํŠธ -> 8์ง„์ˆ˜ 1์ž๋ฆฌ -> LSB๋ถ€ํ„ฐ 3์ž๋ฆฌ์”ฉ ๋ฌถ๋Š”๋‹ค
2์ง„์ˆ˜ 4๋น„ํŠธ -> 16์ง„์ˆ˜ 1์ž๋ฆฌ -> LSB๋ถ€ํ„ฐ 4์ž๋ฆฌ์”ฉ ๋ฌถ๋Š”๋‹ค

- ์ •๋ณด ํ‘œํ˜„์˜ ๋‹จ์œ„

๋น„ํŠธ(bit): Binary Digit, 0๊ณผ 1๋กœ๋งŒ ๊ตฌ์„ฑ๋œ๋‹ค
์ปดํ“จํ„ฐ ๋‚ด๋ถ€์—์„œ ์ •๋ณด ์ €์žฅ(ํ‘œํ˜„)์˜ ๊ธฐ๋ณธ ๋‹จ์œ„

๋ฐ”์ดํŠธ(byte): 8๋น„ํŠธ -> 2์˜ 8์Šน, 256๊ฐœ์˜ ์ •๋ณด ํ‘œํ˜„ ๊ฐ€๋Šฅ
K(killo) -> 10์˜ ์„ธ์ œ๊ณฑ ๊ทผ์‚ฌ์น˜์ธ 1024๋ฅผ ์‚ฌ์šฉ

๋น„ํŠธ์˜ ๊ฐœ์ˆ˜ != ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„
๋น„ํŠธ์˜ ๊ฐœ์ˆ˜๋Š” ๋ฌผ๋ฆฌ์ ์ธ ์ €์žฅ๊ณต๊ฐ„์˜ ํฌ๊ธฐ๋ฅผ ๋งํ•œ๋‹ค
8KB = 8*1024 Byte
ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๋Š” ๊ทธ ์ˆ˜์˜ ๋น„ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ์„œ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๋‹ค๋ฅธ ๊ฐ’๋“ค์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ๋งํ•œ๋‹ค
8KB = 2์˜ 16์Šน bit -> 2์˜ 65536์Šน ๊ฐ€์ง€์ˆ˜๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅ

์›Œ๋“œ(word): ์—ฌ๋Ÿฌ ๋ฐ”์ดํŠธ๋ฅผ ๋ฌถ์€ ์‹œ์Šคํ…œ ์ฒ˜๋ฆฌ ๋‹จ์œ„์ด๋‹ค


# 2.4 ์ง„๋ฒ•๋ณ€ํ™˜(base conversion)

- ์ •์ˆ˜ ๋ถ€๋ถ„์˜ ๋ณ€ํ™˜

์ •์ˆ˜ 10์ง„์ˆ˜ -> 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ ์‹œ ๋‚˜๋จธ์ง€ ๊ฐœ๋…์„ ์ด์šฉ
ex) 41(10) = 101101(2)
41์„ ๊ณ„์† 2๋กœ ๋‚˜๋ˆ„๋ฉด์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ถ€ํ„ฐ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€์˜ ๋ฐฉํ–ฅ์œผ๋กœ ์ ์–ด์ค€๋‹ค

- ์†Œ์ˆ˜ ๋ถ€๋ถ„์˜ ๋ณ€ํ™˜

10์ง„์ˆ˜ -> 2์ง„์ˆ˜
์†Œ์ˆ˜ํŒŒํŠธ๋Š” ๊ณฑํ•ด์„œ ์ •์ˆ˜ ํŒŒํŠธ๋กœ ์˜ฌ๋ ค๋ฒ„๋ฆฐ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ž
์ •์ˆ˜๋ฅผ ์ œ์™ธํ•œ ์†Œ์ˆ˜๋ถ€๋ถ„์— ๊ณ„์†์ ์œผ๋กœ 2๋ฅผ ๊ณฑํ•˜๋ฉด์„œ ์ •์ˆ˜๋กœ ์ž๋ฆฌ ์˜ฌ๋ฆผ์ด ๋ฐœ์ƒํ•˜๋Š”์ง€ ๋ณด์ž

10์ง„์ˆ˜ -> n์ง„์ˆ˜
์†Œ์ˆ˜๋ถ€๋ถ„์— ๊ฐ’ n์„ ์ง€์†์ ์œผ๋กœ ๊ณฑํ•ด๊ฐ€๋ฉด ๋œ๋‹ค

ex) ์œ ํ•œ์†Œ์ˆ˜ 0.2(10) -> ๋ฌดํ•œ์ˆœํ™˜์†Œ์ˆ˜ 0.0011(2)
์ปดํ“จํ„ฐ์—์„œ๋Š” ์‹ค์ˆ˜๋ฅผ ์ •ํ™•ํžˆ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†๊ณ , ๋Œ€๋ถ€๋ถ„์˜ ์‹ค์ˆ˜๋Š” ๊ทผ์‚ฌ๊ฐ’์ด๋‹ค


# 2.5 ์ •์ˆ˜์˜ ํ‘œํ˜„

์ปดํ“จํ„ฐ์—์„œ ์ˆซ์ž ํ‘œํ˜„ -> ์ •์ˆ˜(integer numbers)
-> ์‹ค์ˆ˜(real numbers)
์ •์ˆ˜ 2 != ์‹ค์ˆ˜ 2.0 ์™„์ „ํžˆ ๋‹ค๋ฅธ 2์ง„์ˆ˜ ํ˜•ํƒœ๋กœ ํ‘œ์‹œ๋œ๋‹ค
๋˜ํ•œ ๋ณ€์ˆ˜(variabes)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณ€์ˆ˜๋Š” ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ฃผ๊ธฐ์–ต์žฅ์น˜(main memory)์— ์œ„์น˜ํ•˜์—ฌ 3์ด๋ผ๋Š” ๊ฐ’์„ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค. ๊ธฐ์–ต์žฅ์น˜๋Š” ๋ ˜์˜ ์ฃผ์†Œ๋ฅผ ์ถ”์ƒํ™” ์‹œ์ผœ๋†“์€ ๊ฒƒ์ด๋‹ค

์ •์ˆ˜ -> ๋ถ€ํ˜ธ ์—†๋Š” ์ •์ˆ˜(unsigned integer): 0, ์–‘์˜ ์ •์ˆ˜
-> ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜(signed integer): 0, ์–‘์˜ ์ •์ˆ˜, ์Œ์˜ ์ •์ˆ˜

## ๋ถ€ํ˜ธ ์—†๋Š” ์ •์ˆ˜(unsigned integer): 0, ์–‘์˜ ์ •์ˆ˜
ํ‘œํ˜„๊ฐ€๋Šฅ ๋ฒ”์œ„:
0 ~ +(2์˜ n์Šน -1) (n๋น„ํŠธ)
0 ~ +255 (8๋น„ํŠธ)

- ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ(Overflow)
8๋น„ํŠธ๋Š” 255๊นŒ์ง€๋งŒ ํ‘œํ˜„๊ฐ€๋Šฅํ•˜๋‹ค
๊ทธ ๋‹ค์Œ ์ž๋ฆฟ์ˆ˜๋กœ ๋„˜์–ด๊ฐ€๋Š” ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๋ฐœ์ƒ ์‹œ ์—ฐ์‚ฐ์ด ํ‹€๋ฆฐ๋‹ค
๊ทธ๋ ‡๋‹ค๊ณ  ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๊ฐ€ ๋‚˜๋„ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉˆ์ถ”์ง„ ์•Š๋Š”๋‹ค
์ปดํ“จํ„ฐ๋Š” ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ๋ฐœ์ƒ์„ ์•Œ ์ˆ˜ ์žˆ์Œ์—๋„,
ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์— ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๊ฒ€์‚ฌ๋ฅผ ํ•˜๋ฉด ์†๋„๊ฐ€ ๋Š๋ ค์ง€๋ฏ€๋กœ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ์— ๋Œ€ํ•œ ๋Œ€๋น„๋ฅผ ํ•˜์ง€ ์•Š๋Š”๋‹ค

255์— 1์„ ๋”ํ•˜๋ฉด 0์ด ๋˜๋Š” ๊ฒƒ์ด๋‹ค
์›์ฒ˜๋Ÿผ ์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ๋Œ์•„์„œ 254 -> 255 -> 0 -> 1 ์ˆœ์„œ๊ฐ€ ๋œ๋‹ค

## ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜(signed integer)
-> ๋ถ€ํ˜ธ์™€ ์ ˆ๋Œ“๊ฐ’ ํ‘œํ˜„(sign and magnitude representation)
-> ๋ณด์ˆ˜ํ‘œํ˜„(complement representation)

### ๋ถ€ํ˜ธ์™€ ์ ˆ๋Œ“๊ฐ’(sign and magnitude)
MSB๊ฐ€ 0์ด๋ฉด ์–‘์ˆ˜, 1์ด๋ฉด ์Œ์ˆ˜
ex) +5: 0000 0101(2)
-5: 1000 0101(2)

ํ‘œํ˜„๊ฐ€๋Šฅ ๋ฒ”์œ„:
-(2์˜ n-1์Šน -1) ~ +(2์˜ n-1์Šน -1) (n๋น„ํŠธ)
-127 ~ +127 (8๋น„ํŠธ)

- ์น˜๋ช…์ ์ธ ๋ฌธ์ œ์  2๊ฐœ
1) 0์ด 2๊ฐœ(+0, -0)
2) ๋ง์…ˆ์ด ๋ณต์žกํ•ด์ง„๋‹ค -> ์†๋„๊ฐ€ ๋Š๋ ค์ง

### 2์˜ ๋ณด์ˆ˜(two's complement)
- ๋ณด์ˆ˜๋ž€?
์ ˆ๋Œ“๊ฐ’์ด ๊ฐ™๊ณ  ๋ถ€ํ˜ธ๊ฐ€ ๋‹ค๋ฅธ ๋‘ ์ˆ˜
๋ง์…ˆ์˜ ๊ฒฐ๊ณผ๊ฐ€ 0์ด๋‹ค

ex) +10(10)์˜ ๋ณด์ˆ˜
= 00001010(2)์˜ ๋ณด์ˆ˜
= NOT 00001010(2) + 1
= 11110101(2)+ 1
= 11110110(2)
= -10(10)
NOT ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๋น„ํŠธ๋ฐ˜์ „์  ์ค€๋‹ค(๋บ„์…ˆ ์—ฐ์‚ฐ)
๊ทธ ๋‹ค์Œ์— +1์„ ํ•œ๋‹ค
์ฒ˜์Œ์— NOT ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๋” ํฐ ์ˆ˜์—์„œ ์ž๋ฆฌ ๋‚ด๋ฆผ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ 1์„ ๋บ€ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜์ค‘์— 1์„ ๋”ํ•ด์ค€๋‹ค

- ๋ณด์ˆ˜ ํ‘œํ˜„ -> ๋ถ€ํ˜ธ์™€ ์ ˆ๋Œ“๊ฐ’์˜ ๋ฌธ์ œ ํ•ด๊ฒฐ
1) ๋ถ€ํ˜ธ ์—†์ด ์Œ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค
๋ถ€ํ˜ธ๋Š” ์—†์ง€๋งŒ, MSB๊ฐ€ 0์ด๋ฉด ์–‘์ˆ˜์ด๊ณ , MSB๊ฐ€ 1์ด๋ฉด ์Œ์ˆ˜์ด๋‹ค
๋ถ€ํ˜ธ์™€ ์ ˆ๋Œ“๊ฐ’ ํ‘œํ˜„์€ 0์ด +0, -0์œผ๋กœ ๋‘ ๊ฐœ ์˜€์ง€๋งŒ
2์˜ ๋ณด์ˆ˜ํ‘œํ˜„์€ 0์ด ํ•œ ๊ฐœ๋ผ์„œ ์œผ๋ฌด๊ฐ€ -128๊นŒ์ง€ ํ•œ ๊ฐœ ๋” ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค
2) ๋ง์…ˆ๊ธฐ๊ฐ€ ๊ฐ„๋‹จํ•ด์ง„๋‹ค

ํ‘œํ˜„๊ฐ€๋Šฅ ๋ฒ”์œ„:
-(2์˜ n-1์Šน) ~ +(2์˜ n-1์Šน -1) (n๋น„ํŠธ)
-128 ~ +127 (8๋น„ํŠธ)

- 2์˜ ๋ณด์ˆ˜ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๋ฐœ์ƒ
-1 -> 0 ์œผ๋กœ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๋ฐœ์ƒ
+127 -> -128 ์œผ๋กœ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๋ฐœ์ƒ


# 2.6 ์‹ค์ˆ˜์˜ ํ‘œํ˜„

- ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์—์„œ ๊ณฑ์…ˆ์€ ๋ง์…ˆ์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ํ•˜๋Š” ๊ฒƒ ์•„๋‹Œ๊ฐ€?
์‹ค์ˆ˜์˜ ๋ง์…ˆ != ์‹ค์ˆ˜์˜ ๊ณฑ์…ˆ
์˜ค์ฐจ๊ฐ€ ๋ˆ„์ ๋˜๋Š” ํšŸ์ˆ˜๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค
ex) 1/3 x 3๋งŒ = 1๋งŒ
1/3 + 1/3 + ... + 1/3 = 1๋งŒ
์ด์ง€๋งŒ ๊ณฑ์…ˆ๋ณด๋‹ค ๋ง์…ˆ์˜ ์˜ค์ฐจ๋ˆ„์  ํšŸ์ˆ˜๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ’์ด ๊ฐ™์ง€ ์•Š๋‹ค

- ์‹ค์ˆ˜์˜ ์ž๋ฃŒํ˜•
float 4๋ฐ”์ดํŠธ
double 8๋ฐ”์ดํŠธ -> float ๋ณด๋‹ค ๋” ์ •ํ™•ํ•œ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค
๋ฉ”๋ชจ๋ฆฌ์™€ ์†๋„ ๋•Œ๋ฌธ์— ์‹ค์ˆ˜๋ฅผ ๋‘˜๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค
float a != float b

## ๊ณ ์ • ์†Œ์ˆ˜์  ํ‘œํ˜„ ๋ฐฉ๋ฒ•(fixed-point representation)
์†Œ์ˆ˜์ ์˜ ์œ„์น˜๋ฅผ ๊ณ ์ •์‹œ์ผœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•, ๋ถ€ํ˜ธ ๋น„ํŠธ๋„ ์กด์žฌํ•œ๋‹ค
์žฅ์ : ์—ฐ์‚ฐ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค
๋‹จ์ : ํฐ ์ˆซ์ž๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์–ด๋ ต๋‹ค

## ๋ถ€๋™ ์†Œ์ˆ˜์  ํ‘œํ˜„ ๋ฐฉ๋ฒ•(floating-point representation)
๋ถ€๋™์ด๋ž€ ๋– ๋‹ค๋‹ˆ๋Š” ์†Œ์ˆ˜์ ์ด๋ผ๋Š” ๋œป์ด๋‹ค, float๊ฐ€ ์—ฌ๊ธฐ์„œ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค

๋ถ€๋™ ์†Œ์ˆ˜์ ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” 10์ง„์ˆ˜ -> 2์ง„์ˆ˜ -> ์ •๊ทœํ˜•์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ํ•œ๋‹ค
์ •๊ทœํ˜•์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ :
์ •์ˆ˜ํ‘œํ˜„์„ ํ•œ ์ž๋ฆฌ๋งŒ ๋‚จ๊น€์œผ๋กœ์จ ์‹ค์ˆ˜ ํ‘œํ˜„์„ ํ†ต์ผํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค
ex) 0.34(10)
-> 0.010101110...(2)
-> 1.0101110... x 2์˜ -2์Šน(2)

๋ถ€๋™ ์†Œ์ˆ˜์  ํ‘œํ˜„์—๋Š” ์ž๋ฆฌ๋งˆ๋‹ค ์—ญํ• ์ด ์žˆ๋‹ค(8๋น„ํŠธ ๊ธฐ์ค€)
๊ฐ€์ˆ˜์˜ ๋ถ€ํ˜ธ(Sign) / ์ง€์ˆ˜(Exponent) / ๊ฐ€์ˆ˜(Significand) ๊ฐ€ ๊ฐ ๊ฐ 1 / 3 / 4 ์ž๋ฆฌ ์žˆ๋‹ค

๋ถ€๋™์†Œ์ˆ˜์ ์—์„œ๋Š” 2์˜ ๋ณด์ˆ˜์ฒ˜๋Ÿผ NOT์œผ๋กœ ๋ฐ˜์ „์„ ์ฃผ๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค
2์˜ ๋ณด์ˆ˜๋Š” ์ •์ˆ˜ํ‘œํ˜„์ผ ๋•Œ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค
๋ถ€๋™ ์†Œ์ˆ˜์  ํ‘œํ˜„ ๋ฐฉ๋ฒ•์€ ์‹ค์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ์‹์ž„์„ ์žŠ์ง€ ๋ง์ž

### ์ดˆ๊ณผํ‘œํ˜„(excess representation)
์‚ฌ์šฉ ์ด์œ : ์ง€์ˆ˜๋ฅผ ์œ„ํ•ด์„œ ์ดˆ๊ณผํ‘œํ˜„์„ ์‚ฌ์šฉํ•œ๋‹ค
์ง€์ˆ˜์— 2์˜ ๋ณด์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋Œ€์†Œ๋น„๊ต๋ฅผ ํ•œ ๋ˆˆ์— ํ™•์ธํ•˜๊ธฐ ์–ด๋ ต๋‹ค
์ดˆ๊ณผํ‘œํ˜„์„ ์‚ฌ์šฉํ•˜๋ฉด ์ง€์ˆ˜๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋น„ํŠธ๊ฐ€ ์–‘์ˆ˜๋ฒ”์œ„๊ฐ€ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€์†Œ๋น„๊ต๋ฅผ ํ™•์ธํ•˜๊ธฐ ์ข‹๋‹ค

ex) ์–ด๋Š ์ˆซ์ž๊ฐ€ ๋” ํด๊นŒ?
1) 1.000 x 2์˜ 0์Šน
2) 1.111 x 2์˜ -1์Šน
์ •๊ทœํ˜•์—์„œ๋Š” ์ง€์ˆ˜๊ฐ€ ํฐ ์ˆ˜๊ฐ€ ํฐ ์ˆ˜์ด๋‹ค
์ •๊ทœํ˜•์œผ๋กœ ๋งŒ๋“ค์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ˆ˜ ๋ถ€๋ถ„์˜ ํฌ๊ธฐ๋ณด๋‹ค ์ง€์ˆ˜์˜ ํฌ๊ธฐ๊ฐ€ ๋” ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค

1) 1.000 x 2์˜ 0์Šน
00111000
2) 1.111 x 2์˜ -1์Šน
00101111
๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค

- ์ง€์ˆ˜๋ฅผ ๊ฐ€์ˆ˜๋ณด๋‹ค ์•ž์— ์œ„์น˜์‹œํ‚ค๋Š” ๊ฒƒ์˜ ์žฅ์ :
์ง€์ˆ˜๋ฅผ ์œ„ํ•ด์„œ ์ดˆ๊ณผํ‘œํ˜„์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์—
์‹ค์ˆ˜์˜ ๋Œ€์†Œ๋น„๊ต์ž„์—๋„ ์ •์ˆ˜์ฒ˜๋Ÿผ MSB๋ถ€ํ„ฐ ๋น„๊ตํ•ด๋„ ๋œ๋‹ค
(์ •์ˆ˜์˜ ์—ฐ์‚ฐ์ด ์‹ค์ˆ˜์˜ ์—ฐ์‚ฐ๋ณด๋‹ค ๋น ๋ฅด๊ธฐ์— ์ด๊ฒƒ์ด ์žฅ์ ์ด๋‹ค)

- ๋น„ํŠธ ๋ณ„ ์ดˆ๊ณผํ‘œํ˜„
์ง€์ˆ˜ํ‘œํ˜„์— 3๋น„ํŠธ ์‚ฌ์šฉ -> 3 ์ดˆ๊ณผํ‘œํ˜„
์ง€์ˆ˜ํ‘œํ˜„์— 4๋น„ํŠธ ์‚ฌ์šฉ -> 7 ์ดˆ๊ณผํ‘œํ˜„
3๋น„ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ง€์ˆ˜ -7์—์„œ 0๊นŒ์ง€ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
์Œ์ˆ˜์™€ ์–‘์ˆ˜์˜ ๋น„์œจ์„ ๊ท ๋“ฑํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ 3์ดˆ๊ณผ ํ‘œํ˜„์„ ์‚ฌ์šฉ

### hidden bit
์ •๊ทœํ˜•์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด์„œ ์ •์ˆ˜ ๋ถ€๋ถ„์ด ๋ฌด์กฐ๊ฑด 1๋กœ ๊ณ ์ •๋˜์—ˆ๋‹ค
1์„ ์ˆจ๊ธฐ๊ณ  ๊ฐ€์ˆ˜ 1๋น„ํŠธ๋ฅผ ๋” ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ hidden bit๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค
-> ์กฐ๊ธˆ ๋” ์ •ํ™•ํ•œ ์‹ค์ˆ˜ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค

- special values
0000 0000(2)๋กœ hidden bit๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด
1.0000 x 2์˜ -3์Šน = 0.125(10)
0000 00000(2) != 0(10)

๊ทธ๋Ÿผ 0(10)์€ ์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ•˜์ง€?
0000 0000(2) = 0(10)์ด๋ผ๊ณ  ์•ฝ์†
0000 0001(2) = +0.1328125(10)
-0.1328125(10)์—์„œ +0.1328125(10) ์‚ฌ์ด๋Š” ํ‘œํ˜„๋ถˆ๊ฐ€, ์–ธ๋”ํ”Œ๋กœ์šฐ ๋ฐœ์ƒ
-31.0(10)๋ฏธ๋งŒ, -31.0(10) ์ดˆ๊ณผ๋Š” ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๋ฐœ์ƒ

- IEEE 754 Floating Standard
์‹ค์ˆ˜ ํ‘œํ˜„ํ•˜๋Š” ๊ตญ์ œ ํ‘œ์ค€์ด๋‹ค
1) Single precision(๋‹จ์ •๋ฐ€๋„)
์ง€์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ถ€๋ถ„์ด ์ƒ๋Œ€์ ์œผ๋กœ ๋งŽ์œผ๋ฏ€๋กœ ์ˆซ์ž์˜ ํ‘œํ˜„ ๋ฒ”์œ„๊ฐ€ ๋„“๋‹ค
2) Double precision(๋ฐฐ์ •๋ฐ€๋„)
๊ฐ€์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ถ€๋ถ„์ด ์ƒ๋Œ€์ ์œผ๋กœ ๋งŽ์œผ๋ฏ€๋กœ ์ˆซ์ž์˜ ์ •๋ฐ€๋„๊ฐ€ ๋†’๋‹ค


# 2.7 ๋ฌธ์ž์˜ ํ‘œํ˜„

- ASCII ์ฝ”๋“œ
์ฒ˜์Œ์—๋Š” 7๋น„ํŠธ์˜€์œผ๋‚˜, ํ˜„์žฌ๋Š” 8๋น„ํŠธ๋กœ ์‚ฌ์šฉ๋œ๋‹ค
-> 256๊ฐœ์˜ ๋ฌธ์ž ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค
BCD(Binary Coded Decimal)
-> 0์—์„œ 9๊นŒ์ง€ 1์ž๋ฆฟ์ˆ˜๋ฅผ 4๋น„ํŠธ์˜ 2์ง„์ˆ˜๋กœ ํ‘œํ˜„

- ์œ ๋‹ˆ์ฝ”๋“œ(UNICODE): UTF-16 Encoding
2์˜ 16๊ฐœ์˜ ๋ฌธ์žํ‘œํ˜„ ๊ฐ€๋Šฅ
์œ ๋‹ˆ์ฝ”๋“œ ์•ž 256๊ฐœ๋Š” ACSII์ฝ”๋“œ๋ž‘ ์ผ์น˜
ํ•œ๊ธ€, ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด UTF-8์ด๋‹ค
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# ์ปดํ“จํ„ฐ ๊ตฌ์กฐ

## 1. ์ปดํ“จํ„ฐ ๊ตฌ์กฐ ๊ฐœ๋ก 
1.1) ์ปดํ“จํ„ฐ ๋ฐœ์ „์˜ ์—ญ์‚ฌ
1.2) ์ปดํ“จํ„ฐ์˜ ์ข…๋ฅ˜
1.4) ์ปดํ“จํ„ฐ ๊ตฌ์กฐ ๊ฐœ๊ด„


## 2. ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์˜ ๋ฐ์ดํ„ฐํ‘œํ˜„
2.3) ์ง„๋ฒ•(numeral system)
2.4) ์ง„๋ฒ• ๋ณ€ํ™˜(base conversion)
4.1) ์ •์ˆ˜ ๋ถ€๋ถ„์˜ ๋ณ€ํ™˜
4.2) ์†Œ์ˆ˜ ๋ถ€๋ถ„์˜ ๋ณ€ํ™˜
2.5) ์ •์ˆ˜์˜ ํ‘œํ˜„
5.1) ๋ถ€ํ˜ธ ์—†๋Š” ์ •์ˆ˜(unsigned integer)
5.2) ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜(signed integer)
5.3) ๋ถ€ํ˜ธ์™€ ์ ˆ๋Œ€๊ฐ’(sign and magnitude)
5.4) 2์˜ ๋ณด์ˆ˜(two's complement)
2.6) ์‹ค์ˆ˜์˜ ํ‘œํ˜„
6.1) ๊ณ ์ • ์†Œ์ˆ˜์  ํ‘œํ˜„(fixed-point representation)
6.2) ๋ถ€๋™ ์†Œ์ˆ˜์  ํ‘œํ˜„(floating-point representation)
6.3) ์ดˆ๊ณผํ‘œํ˜„(excess representation)
6.4) hidden bit
6.5) special values
6.6) IEEE Floating Point Standard
2.7) ๋ฌธ์ž์˜ ํ‘œํ˜„


## 3. ๋…ผ๋ฆฌ ํšŒ๋กœ ๊ธฐ์ดˆ
3.1) ํ•˜๋“œ์›จ์–ด ๊ธฐ๋ณธ์†Œ์ž ๋ฐœ์ „
3.2) ๋…ผ๋ฆฌ ํšŒ๋กœ ๊ธฐ์ดˆ
2.1) ๊ธฐ๊ณ„์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ
2.2) ๊ธฐ๋ณธ ๊ฒŒ์ดํŠธ
3.3) ๋…ผ๋ฆฌํšŒ๋กœ์˜ ํ‘œํ˜„๋ฐฉ์‹
3.1) ๋ฐ˜ ๊ฐ€์‚ฐ๊ธฐ(half-adder)
3.2) ๋ถˆ ๋Œ€์ˆ˜(Boolean Algebra)
3.3) ๋ถˆ ๋Œ€์ˆ˜ ๊ทœ์น™


## 4. ์กฐํ•ฉ ๋…ผ๋ฆฌ ํšŒ๋กœ
4.1) ๋…ผ๋ฆฌ ํšŒ๋กœ(AND-ORํšŒ๋กœ, SOP, POS)
1.1) ๊ฐ€์‚ฐ๊ธฐ(๋ง์…ˆ๊ธฐ, adder)
1.2) ๊ฐ์‚ฐ๊ธฐ(๋ฐธ์…ˆ๊ธฐ, subtractor)
1.3) ์ƒํƒœ ๋น„ํŠธ ํšŒ๋กœ(status bits)
4.2) ๋…ผ๋ฆฌ์‹์˜ ๊ฐ„์†Œํ™”(k-map)
2.1) ๋ถˆ ๋Œ€์ˆ˜
2.2) ๋…ผ๋ฆฌ ํšŒ๋กœ ์ œ์ž‘ ์ˆœ์„œ
2.3) k-map ์˜ˆ์ œ
2.4) Don't care ์กฐ๊ฑด
2.5) Dual k-map
2.6) NAND ๊ฒŒ์ดํŠธ
4.3) ๋””์ง€ํ„ธ ๋ถ€ํ’ˆ
3.1) ์ž‘๋™ ๊ตฌ๋™ ์‹ ํ˜ธ(Enabling Lines)
3.2) ๋ฉ€ํ‹ฐํ”Œ๋ ‰์„œ(multiplexer) / ๋””-๋ฉ€ํ‹ฐํ”Œ๋ ‰์Šค(de-multiplexer)
3.3) ์ด์ง„ ๋””์ฝ”๋”(binary decoder)


## 5. ์ˆœ์„œ ๋…ผ๋ฆฌ ํšŒ๋กœ
5.1) ํ”Œ๋ฆฝํ”Œ๋ž(flip-flop)
5.2) stable(์•ˆ์ •) / unstable(๋ถˆ์•ˆ์ •)
2.1) SR latch
2.2) ํด๋Ÿญ(clock)์˜ ํ•„์š”์„ฑ
5.3) ๋‹ค์–‘ํ•œ ํ”Œ๋ฆฝํ”Œ๋ž
3.1) SR ํ”Œ๋ฆฝํ”Œ๋ž
3.2) JK ํ”Œ๋ฆฝํ”Œ๋ž
3.3) D ํ”Œ๋ฆฝํ”Œ๋ž
3.4) T ํ”Œ๋ฆฝํ”Œ๋ž
5.4) ์ˆœ์„œ ๋…ผ๋ฆฌ ํšŒ๋กœ ์ œ์ž‘(counter ํšŒ๋กœ)

0 comments on commit f76319a

Please sign in to comment.