[ํผ์ ๊ณต๋ถํ๋ ์ปดํจํฐ ๊ตฌ์กฐ+์ด์์ฒด์ ]02. 0๊ณผ 1๋ก ์ซ์/๋ฌธ์๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ
์ปดํจํฐ๊ฐ ์ดํดํ๋ ์ ๋ณด ๋จ์
๋นํธ(bit): 0๊ณผ 1์ ํํํ๋ ๊ฐ์ฅ ์์ ์ ๋ณด ๋จ์
| 2๋นํธ๋ก ํํํ ์ ์๋ ์ ๋ณด($2^2$=4๊ฐ) | 3๋นํธ๋ก ํํํ ์ ์๋ ์ ๋ณด($2^3$=8๊ฐ) | ||||
| 0 | 0 | 0 | 0 | 0 | |
| 0 | 1 | 0 | 0 | 1 | |
| 1 | 0 | 0 | 1 | 0 | |
| 1 | 1 | 0 | 1 | 1 | |
| 1 | 0 | 0 | |||
| 1 | 0 | 1 | |||
| 1 | 1 | 0 | |||
| 1 | 1 | 1 | |||
- n๋นํธ๋ก $2^n$ ๊ฐ์ง์ ์ ๋ณด ํํ ๊ฐ๋ฅํจ
- ํ๋ก๊ทธ๋จ์ ์๋ง์ ๋นํธ๋ก ์ด๋ฃจ์ด์ ธ ์์ง๋ง, ํ์ '์ด ํ์ผ์ 8,920,120 ๋นํธ์ผ'๋ผ๊ณ ํํํ์ง ์์
- ๋นํธ๋ณด๋ค ๋ ํฐ ๋จ์ ์ฌ์ฉ → ๋ฐ์ดํธ, ํฌ๋ก๋ฐ์ดํธ, ๋ฉ๊ฐ๋ฐ์ดํธ, ๊ธฐ๊ฐ๋ฐ์ดํธ, ํ ๋ผ๋ฐ์ดํธ, ...
[๋นํธ๋ณด๋ค ํฐ ๋จ์]
| 1๋ฐ์ดํธ(1byte) | 8๋นํธ(bit) |
| 1ํฌ๋ก๋ฐ์ดํธ(1kB) | 1,000๋ฐ์ดํธ(1,000byte) |
| 1๋ฉ๊ฐ๋ฐ์ดํธ(1MB) | 1,000ํฌ๋ก๋ฐ์ดํธ(1,000kB) |
| 1๊ธฐ๊ฐ๋ฐ์ดํธ(1GB) | 1,000๋ฉ๊ฐ๋ฐ์ดํธ(1,000MB) |
| 1ํ ๋ผ๋ฐ์ดํธ(1TB) | 1,000๊ธฐ๊ฐ๋ฐ์ดํธ(1,000GB) |
- ์ด์ ๋จ์๋ฅผ 1024๊ฐ์ฉ ๋ฌถ์ ๋จ์๋ kiB, MiB, GiB, ...
์๋(word): CPU๊ฐ ํ ๋ฒ์ ์ฒ๋ฆฌํ ์ ์๋ ์ ๋ณด์ ํฌ๊ธฐ ๋จ์
- ํํ ์๋(half word): ์๋์ ์ ๋ฐ ํฌ๊ธฐ
- ํ ์๋(full word): ์๋ ํฌ๊ธฐ
- ๋๋ธ ์๋(double word): ์๋์ ๋ ๋ฐฐ ํฌ๊ธฐ
0๊ณผ 1๋ก ์ซ์๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ: ์ด์ง๋ฒ
์ด์ง๋ฒ(binary): 0๊ณผ 1๋ก ์๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ
- ์ซ์๊ฐ 1์ ๋์ด๊ฐ๋ ์์ ์ ์๋ฆฌ์ฌ๋ฆผ
- ์ฐ๋ฆฌ๊ฐ ์ผ์์ ์ผ๋ก ์ฌ์ฉํ๋ ์ง๋ฒ์ ์ซ์๊ฐ 9๋ฅผ ๋์ด๊ฐ ๋ ์๋ฆฌ์ฌ๋ฆผํ๋ ์ญ์ง๋ฒ(decimal)
| ์ญ์ง์ | ์ด์ง์ |
| 1 | 1 |
| 2 | 10 |
| 3 | 11 |
| 4 | 100 |
| 5 | 101 |
| 6 | 110 |
| 7 | 111 |
| 8 | 1000 |
- ์ด์ง์๋ฅผ ํํํ ๋์๋ $1000_{(2)}$ ํน์ 0b1000๋ก ํํํจ
[0๊ณผ 1๋ก ์์ ํํํ๊ธฐ: 2์ ๋ณด์]
1๋ฒ ๋ฐฉ๋ฒ) ์ด๋ค ์๋ฅผ ๊ทธ๋ณด๋ค ํฐ $2^n$์์ ๋บ ๊ฐ
→ $11_{(2)}$๋ณด๋ค ํฐ $2^n$ = $100_{(2)}$ → $100_{(2)}$ - $11_{(2)}$ → $11_{(2)}$์ ์์๋ก ํํํ ๊ฐ์ธ $01_{(2)}$
2๋ฒ ๋ฐฉ๋ฒ) ๋ชจ๋ 0๊ณผ 1์ ๋ค์ง๊ณ 1 ๋ํ ๊ฐ
| $11_{(2)}$๋ฅผ ์์(2์ ๋ณด์)๋ก ํํํ๊ธฐ | |
| 1 | 1 |
| ๋ชจ๋ 0๊ณผ 1 ๋ค์ง๊ธฐ | |
| 0 | 0 |
| 1 ๋ํ๊ธฐ | |
| 0 | 1 |
โ $-1011_{(2)}$๋ฅผ ํํํ๊ธฐ ์ํ $0101_{(2)}$๊ณผ ์ญ์ง์ 5๋ฅผ ํํํ๊ธฐ ์ํ $0101_{(2)}$๋ฅผ ๊ตฌ๋ถํ๋ ๋ฐฉ๋ฒ
→ CPU ๋ด๋ถ์๋ ํ๋๊ทธ(flag)๋ผ๋ ๋ ์ง์คํฐ๋ฅผ ํตํด ์์์ ์์๋ฅผ ๊ตฌ๋ถํ ์ ์์
[16์ง๋ฒ]
์ด์ง๋ฒ์ผ๋ก๋ ์ซ์์ ๊ธธ์ด๊ฐ ๋๋ฌด ๊ธธ์ด์ง๋ ๋จ์ ์ผ๋ก, ์ปดํจํฐ์ ๋ฐ์ดํฐ๋ฅผ ํํํ ๋ 16์ง๋ฒ๋ ๋ง์ด ์ฌ์ฉํจ.
16์ง๋ฒ์ ์๊ฐ 15๋ฅผ ๋์ด๊ฐ๋ ์์ ์ ์๋ฆฌ์ฌ๋ฆผ์ ํจ
| 10์ง์ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | ... |
| 16์ง์ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 10 | 11 |
- 16์ง์๋ฅผ ํํํ ๋์๋ $15_{(16)}$ ํน์ 0x15๋ก ํํํจ
[2์ง์์ 16์ง์ ๊ฐ์ ๋ณํ]
16์ง์๋ฅผ 2์ง์๋ก ๋ณํ → ๊ฐ ์ซ์๋ฅผ 2์ง์๋ก ํํํ๋ฉด 4์๋ฆฌ๋ก ํํ ๊ฐ๋ฅ

2์ง์๋ฅผ 16์ง์๋ก ๋ณํ → 4์๋ฆฌ ์ซ์๋ฅผ ํ๋์ 16์ง์๋ก ํํ

0๊ณผ 1๋ก ๋ฌธ์๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ
๋ฌธ์ ์งํฉ(character set): ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ๋ฌธ์์ ๋ชจ์
์ธ์ฝ๋ฉ(encoding): ์ฝ๋ํํ๋ ๊ณผ์ , ๋ฌธ์๋ฅผ 0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์ ์ฝ๋๋ก ๋ณํํ๋ ๊ณผ์
๋์ฝ๋ฉ(decoding): ์ฝ๋๋ฅผ ํด์ํ๋ ๊ณผ์ , 0๊ณผ 1๋ก ํํ๋ ๋ฌธ์ ์ฝ๋๋ฅผ ๋ฌธ์๋ก ๋ณํํ๋ ๊ณผ์
1) ์์คํค ์ฝ๋
- ์ด์ฐฝ๊ธฐ ๋ฌธ์ ์งํฉ ์ค ํ๋
- ์ํ๋ฒณ, ์๋ผ๋น์ ์ซ์, ์ผ๋ถ ํน์ ๋ฌธ์ ๋ฐ ์ ์ด ๋ฌธ์
- 7๋นํธ๋ก ํ๋์ ๋ฌธ์ ํํ
- 8๋นํธ ์ค 1๋นํธ๋ ์ค๋ฅ ๊ฒ์ถ์ ์ํด ์ฌ์ฉ๋๋ ํจ๋ฆฌํฐ ๋นํธ(parity bit)
- A๋ 65๋ก ์ธ์ฝ๋ฉ, a๋ 97๋ก ์ธ์ฝ๋ฉ
์ฝ๋ ํฌ์ธํธ = ๋ฌธ์์ ๋ถ์ฌ๋ ๊ฐ - ๊ฐ๋จํ ์ธ์ฝ๋ฉ์ด ๊ฐ๋ฅํ์ง๋ง, ํ๊ธ์ ํฌํจํ ๋ค๋ฅธ ์ธ์ด ๋ฌธ์, ๋ค์ํ ํน์ ๋ฌธ์ ํํ์ด ๋ถ๊ฐํจ
- ์์คํค ์ฝ๋๋ 7๋นํธ๋ก ํ๋์ ๋ฌธ์๋ฅผ ํํํ๊ธฐ์ 128๊ฐ๋ณด๋ค ๋ง์ ๋ฌธ์๋ฅผ ํํํ ์ ์์
- 8๋นํธ ํ์ฅ ์์คํค(extended ASCII)๊ฐ ๋ฑ์ฅํ์ง๋ง, ์ฌ์ ํ ๋ถ์กฑํจ
2) ํ๊ธ ์ธ์ฝ๋ฉ ๋ฐฉ์
- ํ๊ธ์ ์ํ ์ธ์ฝ๋ฉ์ด ํ์ํจ
- ์ํ๋ฒณ์ ์ด์ด ์ฐ๋ฉด ๋จ์ด๊ฐ ๋๋ ์์ด์ ๋ฌ๋ฆฌ ์ด์ฑ/์ค์ฑ/์ข ์ฑ์ ์กฐํฉ์ผ๋ก ์ด๋ฃจ์ด์ง ํ๊ธ ํน์ฑ์ 2๊ฐ์ง ์ธ์ฝ๋ฉ ๋ฐฉ์ ์กด์ฌ
- ์์ฑํ ์ธ์ฝ๋ฉ ๋ฐฉ์๊ณผ ์กฐํฉํ ์ธ์ฝ๋ฉ ๋ฐฉ์ ์กด์ฌ
- ์์ฑํ ์ธ์ฝ๋ฉ ๋ฐฉ์: ๊ฐ ๋จ์ด์ ์ฝ๋๋ฅผ ๋ถ์ฌํ๋ ๋ฐฉ์ ex) ๊ฐ(11101010 10110000 10010101)
์กฐํฉํ ์ธ์ฝ๋ฉ ๋ฐฉ์: ์์๊ณผ ๋ชจ์์ ์ฝ๋๋ฅผ ๋ถ์ฌํด ์กฐํฉํ๋ ๋ฐฉ์ ex) ใฑ(0010) + ใ (0011) + ใ (0001 00011) = 0010 0011 0001 00011
- EUC-KR
- KS X 1001 KS X 1003 ๋ฌธ์์งํฉ ๊ธฐ๋ฐ์ ํ๊ธ ์ธ์ฝ๋ฉ ๋ฐฉ์
- ์์ฑํ ์ธ์ฝ๋ฉ
- ๊ธ์ ํ๋ ํ๋์ 2๋ฐ์ดํธ ํฌ๊ธฐ์ ์ฝ๋ ๋ถ์ฌ
2๋ฐ์ดํธ = 16๋นํธ = 4์๋ฆฌ 16์ง์๋ก ํํ - 2300์ฌ๊ฐ์ ํ๊ธ ํํ ๊ฐ๋ฅ
- ์ฌ์ ํ ๋ชจ๋ ํ๊ธ์ ํํํ๊ธฐ์๋ ๋ถ์กฑํ ์์ด๋ฉฐ, ์/๋ /ํ ๊ฐ์ ํ๊ธ์ ํํ ๋ถ๊ฐ๋ฅํจ
- ์ธ์ด๋ณ ์ธ์ฝ๋ฉ์ ๊ตญ๊ฐ๋ง๋ค ํ๊ฒ ๋๋ฉด ๋ค๊ตญ์ด๋ฅผ ์ง์ํ๋ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ๋์ ์ธ์ด๋ณ ์ธ์ฝ๋ฉ ๋ฐฉ์์ ๋ชจ๋ ์ดํดํด์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์กด์ฌํจ
3) ์ ๋์ฝ๋ ๋ฌธ์ ์งํฉ๊ณผ UTF-8
- ์ ๋์ฝ๋๋ EUC-KR์ ๋จ์ ์ธ ์ธ์ด๋ณ ์ธ์ฝ๋ฉ ๋ฐฉ์์ ํด์ํ๋ ํต์ผ๋ ๋ฌธ์ ์งํฉ์ผ๋ก, ํ๊ธ/์์ด/ํ์ดํ์ ๊ฐ์ ํน์ ๋ฌธ์/์ด๋ชจํฐ์ฝ๊น์ง ๋ชจ๋ ํํ ๊ฐ๋ฅ
- ํ๋ ๋ฌธ์ ํํ์ ์์ด ๋งค์ฐ ์ค์ํ ์์น
- ์ ๋์ฝ๋์ ์ธ์ฝ๋ฉ ๋ฐฉ์์ผ๋ก๋ UTF-8, UTF-16, UTF-32๊ฐ ์กด์ฌ
- UTF-8 ์ธ์ฝ๋ฉ
- UTF(Unicode Transformation Format): ์ ๋์ฝ๋ ์ธ์ฝ๋ฉ ๋ฐฉ๋ฒ
- ๊ฐ๋ณ ๊ธธ์ด ์ธ์ฝ๋ฉ: ์ธ์ฝ๋ฉ ๊ฒฐ๊ณผ๊ฐ 1๋ฐ์ดํธ ~ 4๋ฐ์ดํธ
- ์ธ์ฝ๋ฉ ๊ฒฐ๊ณผ๊ฐ ๋ช ๋ฐ์ดํธ๊ฐ ๋ ์ง๋ ์ ๋์ฝ๋์ ๋ถ์ฌ๋ ๊ฐ์ ๋ฐ๋ผ ๋ค๋ฆ
์ฐธ๊ณ ์๋ฃ
ํผ์ ๊ณต๋ถํ๋ ์ปดํจํฐ ๊ตฌ์กฐ + ์ด์์ฒด์