2์ง์ ๋๋์ ๊ณ์ฐ๊ธฐ๋?
์ด ๋๊ตฌ๋ ํ๋์ 2์ง์(2์ง๋ฒ)๋ฅผ ๋ค๋ฅธ 2์ง์๋ก ๋๋์ด ๋ชซ๊ณผ ๋๋จธ์ง๋ฅผ ๋ชจ๋ ๊ตฌํด ์ฃผ๋ฉฐ, ๊ฒฐ๊ณผ๋ฅผ ์ด์ง์์ ์ญ์ง์ ์์ชฝ์ผ๋ก ๋ณด์ฌ ์ค๋๋ค. ์ด์ง ์ฅ์ ๋ฒ์ ์์ผ๋ก ์ง์ ๊ณ์ฐํ๋ฉด ์ค์๊ฐ ์ฆ๊ธฐ ๋๋ฌธ์, ์ด ๊ณ์ฐ๊ธฐ๋ ์ ๋ ฅ๊ฐ์ ๋จผ์ ์ญ์ง์๋ก ๋ณํํ ๋ค ์ ์ ๋๋์ ์ ์ํํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ 2์ง์๋ก ๋ณํํด ์ค๋๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ
์ฒซ ๋ฒ์งธ ์นธ์ ํผ์ ์(๋๋์ด์ง๋ ์)๋ฅผ, ๋ ๋ฒ์งธ ์นธ์ ์ ์๋ฅผ ์ ๋ ฅํ์ธ์. ์ด๋ ์ซ์๋ 0๊ณผ 1๋ง ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๊ณ์ฐ ๋ฒํผ์ ๋๋ฅด๋ฉด ๋ชซ๊ณผ ๋๋จธ์ง๊ฐ ํ์๋ฉ๋๋ค. 0์ผ๋ก ๋๋๋ ๊ฒ์ ์ ์๋์ง ์์ผ๋ฏ๋ก ์ ์๋ 0์ด ๋ ์ ์์ต๋๋ค.
๊ณต์ ํ์ด
๋ ์ด์ง์ ์ ๋ ฅ๊ฐ์ A์ B๋ผ๊ณ ํ๋ฉด, ๊ณ์ฐ๊ธฐ๋ \(A_{10} = \text{parseBinary}(A)\), \(B_{10} = \text{parseBinary}(B)\)๋ก ๋ณํํฉ๋๋ค. ์ ์ ๋ชซ์ \(Q = \left\lfloor A_{10} / B_{10} \right\rfloor\)์ด๊ณ , ๋๋จธ์ง๋ \(R = A_{10} \bmod B_{10}\)์ ๋๋ค. ๋ค์์ ์ ์ฒด ๊ณต์์ ๋๋ค.
$$\begin{gathered} \text{Dividend}_2 \div \text{Divisor}_2 = Q \;\text{remainder}\; R \\[1.5em] \text{where}\quad \left\{ \begin{aligned} Q &= \left\lfloor \frac{A}{B} \right\rfloor \\ R &= A \bmod B \\ A &= (\text{Dividend}_2)_{10} \\ B &= (\text{Divisor}_2)_{10} \end{aligned} \right. \end{gathered}$$๊ทธ๋ฐ ๋ค์ Q์ R์ ๋ค์ 2์ง์๋ก ๋ณํํฉ๋๋ค. ์ด๋ ์ปดํจํฐ๊ฐ ๋ถํธ ์๋ ์ ์ ๋๋์ ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์๊ณผ ๋์ผํฉ๋๋ค.
๊ณ์ฐ ์์
\(1100_2\)์ \(10_2\)์ผ๋ก ๋๋ ๋ด ์๋ค. ์ญ์ง์๋ก ๋ฐ๊พธ๋ฉด \(1100_2 = 12\), \(10_2 = 2\)์ ๋๋ค. ๋ฐ๋ผ์ $$12 \div 2 = 6$$์ด๊ณ ๋๋จธ์ง๋ 0์ ๋๋ค. ๋ค์ ์ด์ง์๋ก ๋ณํํ๋ฉด \(6 = 110_2\), \(0 = 0_2\)์ด ๋ฉ๋๋ค. ์ฆ $$1100 \div 10 = \mathbf{110},\ \text{๋๋จธ์ง}\ \mathbf{0}$$์ ๋๋ค.
์ด์ง์๋ฅผ ์์ผ๋ก ๋๋๋ ๋ฐฉ๋ฒ
์ด์ง ์ฅ์ ๋ฒ์ ์ญ์ง ์ฅ์ ๋ฒ๊ณผ ์ ํํ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์๋ํ์ง๋ง ์ค์ ๋ก๋ ๋ ๊ฐ๋จํฉ๋๋ค: ๊ฐ ๋จ๊ณ์์ ์ ์๊ฐ ํ์ฌ ๋นํธ์ ๋ค์ด๋ง๊ฑฐ๋ (์ซ์ 1 ์์ฑ) ๋ค์ด๋ง์ง ์์ต๋๋ค (์ซ์ 0 ์์ฑ). ์ธ์์ผ ํ ๊ณฑ์ ํ๊ฐ ์์ต๋๋ค โ ์ ์์ 0 ๋๋ 1๋ง ๊ณฑํ๋ฉด ๋ฉ๋๋ค.
\(\text{ํผ์ ์}_2 \div \text{์ ์}_2 = Q \;\text{๋๋จธ์ง}\; R\)์ ๊ณ์ฐํ๋ ์ผ๋ฐ์ ์ธ ์ ์ฐจ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ต์์ ๋นํธ๋ถํฐ ์ ๋ ฌํฉ๋๋ค. ํผ์ ์์ ๋งจ ์ผ์ชฝ ๋นํธ๋ก ์์ํ์ฌ ํ์ฌ ์์ ๊ฐ์ผ๋ก ์ค์ ํฉ๋๋ค.
- ๋น๊ตํฉ๋๋ค. ํ์ฌ ์์ ๊ฐ์ ์ ์์ ๋น๊ตํฉ๋๋ค. ์์ ๊ฐ์ด ์ ์ ์ด์์ด๋ฉด ์ ์๊ฐ "๋ค์ด๋ง์ต๋๋ค."
- ๋ชซ ๋นํธ๋ฅผ ์์ฑํฉ๋๋ค. ๋ค์ด๋ง์ผ๋ฉด ์์ 1์ ์์ฑํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด 0์ ์์ฑํฉ๋๋ค.
- ๋นผ๊ธฐ. 1์ ์์ฑํ์ผ๋ฉด ์ ์๋ฅผ ์์ ๊ฐ์์ ๋นผ๊ณ , ๊ทธ ์ฐจ์ด๊ฐ ์๋ก์ด ์์ ๊ฐ์ด ๋ฉ๋๋ค. 0์ ์์ฑํ์ผ๋ฉด ์์ ๊ฐ์ ๋ณํ์ง ์์ต๋๋ค.
- ํผ์ ์์ ๋ค์ ๋นํธ๋ฅผ ๋ด๋ฆฝ๋๋ค ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ์์ ๊ฐ์ ์ถ๊ฐํฉ๋๋ค.
- ๋ฐ๋ณตํฉ๋๋ค 2โ5๋จ๊ณ๋ฅผ ํผ์ ์์ ๋ชจ๋ ๋นํธ๊ฐ ๋ด๋ ค์ง ๋๊น์ง ๋ฐ๋ณตํฉ๋๋ค.
- ๊ฒฐ๊ณผ๋ฅผ ์ฝ์ด๋ ๋๋ค. ์์ ๋ชจ์ธ ๋นํธ๋ค์ด ๋ชซ \(Q\)์ ํ์ฑํฉ๋๋ค. ๋จ์ ์์ ๊ฐ์ด ๋๋จธ์ง \(R\)์ ๋๋ค.
์์ ์: \(1011_2 \div 10_2\) (์ฆ, ์ญ์ง๋ฒ์ผ๋ก 11 รท 2).
- ์ฒซ ๋ฒ์งธ ๋นํธ๋ฅผ ๋ด๋ฆฝ๋๋ค: ์์
๊ฐ =
1. \(1 \ge 10\)์ธ๊ฐ์? ์๋์ค โ ๋ชซ ๋นํธ 0. - ๋ค์ ๋นํธ๋ฅผ ๋ด๋ฆฝ๋๋ค: ์์
๊ฐ =
10. \(10 \ge 10\)์ธ๊ฐ์? ์ โ ๋ชซ ๋นํธ 1, ๋นผ๊ธฐ: \(10 - 10 = 0\). - ๋ค์ ๋นํธ๋ฅผ ๋ด๋ฆฝ๋๋ค: ์์
๊ฐ =
01=1. \(1 \ge 10\)์ธ๊ฐ์? ์๋์ค โ ๋ชซ ๋นํธ 0. - ๋ง์ง๋ง ๋นํธ๋ฅผ ๋ด๋ฆฝ๋๋ค: ์์
๊ฐ =
11. \(11 \ge 10\)์ธ๊ฐ์? ์ โ ๋ชซ ๋นํธ 1, ๋นผ๊ธฐ: \(11 - 10 = 1\). - ๋จ์ ๋นํธ๊ฐ ์์ต๋๋ค. ๋ชซ =
0101= 101, ๋๋จธ์ง =1.
์ญ์ง๋ฒ์ผ๋ก ๊ต์ฐจ ๊ฒ์ฆ: \(11 \div 2 = 5\) ๋๋จธ์ง \(1\), ๊ทธ๋ฆฌ๊ณ \(101_2 = 5\), \(1_2 = 1\). โ
๋ ๋ง์ ์ด์ง ๋๋์ ์
๊ฐ ์๋ ์ด์ง ์ฅ์ ๋ฒ์ ์ญ์ง ๊ต์ฐจ ๊ฒ์ฆ๊ณผ ํจ๊ป ๋ณด์ฌ์ฃผ๋ฉฐ, ๊ด๊ณ์์ ํญ์ \(\text{ํผ์ ์} = \text{์ ์}\times Q + R\)์ ๋๋ค.
์ 1 โ 0์ด ์๋ ๋๋จธ์ง: \(1011_2 \div 10_2\)
- ์ญ์ง ๋ฑ๊ฐ: \(1011_2 = 11\), \(10_2 = 2\).
- ์ฅ์ ๋ฒ์ ๋ชซ ๋นํธ
101๊ณผ ๋จ์ ๋นํธ1์ ์ ๊ณตํฉ๋๋ค. - ๊ฒฐ๊ณผ: \(1011_2 \div 10_2 = 101_2 \;\text{๋๋จธ์ง}\; 1_2\) โ ์ญ์ง๋ฒ์ผ๋ก \(11 \div 2 = 5\;\text{๋๋จธ์ง}\;1\).
- ํ์ธ: \(2 \times 5 + 1 = 11\). โ
์ 2 โ ์ ์๊ฐ ํผ์ ์๋ณด๋ค ํผ: \(100_2 \div 1000_2\)
- ์ญ์ง ๋ฑ๊ฐ: \(100_2 = 4\), \(1000_2 = 8\).
- ์ ์(8)๊ฐ ํผ์ ์(4)๋ณด๋ค ํฌ๋ฏ๋ก, ์ ๋ ๋ค์ด๋ง์ง ์์ผ๋ฏ๋ก ๋ชจ๋ ๋ชซ ๋นํธ๋ 0์ ๋๋ค.
- ๊ฒฐ๊ณผ: \(100_2 \div 1000_2 = 0 \;\text{๋๋จธ์ง}\; 100_2\) โ ์ญ์ง๋ฒ์ผ๋ก \(4 \div 8 = 0\;\text{๋๋จธ์ง}\;4\).
- ํ์ธ: \(8 \times 0 + 4 = 4\). โ ํผ์ ์๊ฐ ์ ์๋ณด๋ค ์์ผ๋ฉด ๋ชซ์ ํญ์ 0์ด๊ณ ๋๋จธ์ง๋ ํผ์ ์ ์์ ์ ๋๋ค.
์ 3 โ ๊น๋ํ ๋๋์ ๊ณผ ๊ต์ฐจ ๊ฒ์ฆ: \(11110_2 \div 110_2\)
- ์ญ์ง ๋ฑ๊ฐ: \(11110_2 = 30\), \(110_2 = 6\).
- ๋นํธ๋ฅผ ๋ด๋ ค์
110์ ๋๋ฌํ๋ฉด ํ ๋ฒ ๋ค์ด๋ง์ต๋๋ค. ๊ณ์ ๋นํธ๋ฅผ ๋ด๋ ค์ ๋ค์ด๋ง์ ๋๋ง๋ค \(110\)์ ๋นผ์ธ์. - ๊ฒฐ๊ณผ: \(11110_2 \div 110_2 = 101_2 \;\text{๋๋จธ์ง}\; 0\) โ ์ญ์ง๋ฒ์ผ๋ก \(30 \div 6 = 5\;\text{๋๋จธ์ง}\;0\).
- ๋ชซ ํ์ธ: \(101_2 = 5\), ๊ทธ๋ฆฌ๊ณ \(6 \times 5 + 0 = 30\) ํ์ธ. โ ๋๋จธ์ง๊ฐ 0์ด๋ฏ๋ก ๋๋์ ์ ์ ํํฉ๋๋ค.
์ด์ง-์ญ์ง ๋ณํ๊ธฐ๋ก ์ด๋ฌํ ๋ณํ์ ํ์ธํ ์ ์์ผ๋ฉฐ, ๋ชซ๊ณผ ์ ์๋ฅผ ๋ค์ ๊ณฑํ์ฌ ์ต์ข ํ์ธ์ ์ํํ ์ ์์ต๋๋ค.
์ด์ง ๋๋์ ์ ์ฃผ์ ์ฉ์ด
- ํผ์ ์
- ๋๋์ด์ง๋ ์ โ ๋๋์ ๊ดํธ ์๋์ ์์ฑ๋๋ ๊ฐ. \(1011_2 \div 10_2\)์์ ํผ์ ์๋ \(1011_2\)์ ๋๋ค.
- ์ ์
- ๋๋๋ ์. \(1011_2 \div 10_2\)์์ ์ ์๋ \(10_2\)์ ๋๋ค. ์ ์๋ 0์ด ์๋์ด์ผ ํฉ๋๋ค.
- ๋ชซ
- ๋๋์ ์ ์ ์ ๊ฒฐ๊ณผ โ ์ ์๊ฐ ํผ์ ์์ ๋ค์ด๋ง๋ ํ์. ๊ดํธ ์์ ์์ฑ๋๋ฉฐ, ๋จ๊ณ๋ง๋ค ํ ๋นํธ์ฉ.
- ๋๋จธ์ง
- ์ต๋ ์ ์ ๋ชซ์ ์ ๊ฑฐํ ํ ๋จ์ ์: \(R = \text{ํผ์ ์} - \text{์ ์}\times Q\). ํญ์ ์ ์๋ณด๋ค ์์ต๋๋ค.
- ์ด์ง๋ฒ(2์ง๋ฒ)
- 0๊ณผ 1๋ง์ ์ฌ์ฉํ๋ ์ ์ฒด๊ณ๋ก, ๊ฐ ์๋ฆฌ๊ฐ์ 2์ ๊ฑฐ๋ญ์ ๊ณฑ(\(1, 2, 4, 8, \dots\))์ด๋ฉฐ 10์ ๊ฑฐ๋ญ์ ๊ณฑ์ด ์๋๋๋ค.
- ๋นํธ
- ๋จ์ผ ์ด์ง ์๋ฆฌ(0 ๋๋ 1) โ "binary digit"์ ์ฝ์์ ๋๋ค.
- LSB / MSB
- ์ตํ์ ๋นํธ๋ ๋งจ ์ค๋ฅธ์ชฝ ๋นํธ(1์ ์๋ฆฌ)์ด๊ณ , ์ต์์ ๋นํธ๋ ๋งจ ์ผ์ชฝ ๋นํธ(๊ฐ์ฅ ๋์ ์๋ฆฌ๊ฐ)์ ๋๋ค. ์ด์ง ์ฅ์ ๋ฒ์ MSB์์ LSB๋ก ํฅํด ๋นํธ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
- ์ ์ ๋๋์ / ๋ฒ๋ฆผ ๋๋์
- ์ ์ ๋ชซ๋ง ์ ์งํ๊ณ ์์ ๋ถ๋ถ์ ๋ฒ๋ฆฌ๋ ๋๋์ โ ์ ํํ ์ด์ง ์ฅ์ ๋ฒ์ด ๋๋จธ์ง์ ํจ๊ป ์์ฑํ๋ ๊ฒ์ ๋๋ค.
- ๋ชจ๋๋ก
-
๋๋์
์ ๋๋จธ์ง๋ง ๋ฐํํ๋ ์ฐ์ฐ(์ข
์ข
mod๋๋%๋ก ์์ฑ๋จ). \(1011_2 \div 10_2\)์ ๊ฒฝ์ฐ ๋ชจ๋๋ก ๊ฒฐ๊ณผ๋ \(1_2\)์ ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
์์์ ์ด ์๋ ์ด์ง์๋ ๋๋ ์ ์๋์? ์๋์. ์ด ๊ณ์ฐ๊ธฐ๋ ๋ถํธ ์๋ ์ ์ ์ด์ง์๋ง ์ฒ๋ฆฌํ๋ฉฐ, ์ ์ ๋ชซ๊ณผ ๋๋จธ์ง๋ฅผ ๋ฐํํฉ๋๋ค.
์ ์๊ฐ ํผ์ ์๋ณด๋ค ํฌ๋ฉด ์ด๋ป๊ฒ ๋๋์? ๋ชซ์ 0์ด ๋๊ณ ๋๋จธ์ง๋ ํผ์ ์์ ๊ฐ์์ง๋๋ค. ์๋ฅผ ๋ค์ด \(10 \div 100\)์ ๋ชซ 0, ๋๋จธ์ง 10์ ๋๋ค.
์ ์ญ์ง์๋ ํจ๊ป ๋ณด์ฌ ์ฃผ๋์? ์ญ์ง์ ๊ฐ์ ํจ๊ป ๋ณด๋ฉด ๊ฒฐ๊ณผ๋ฅผ ์์ฝ๊ฒ ๊ฒ์ฐํ ์ ์๊ณ ๋ณํ ๊ณผ์ ์ ์ดํดํ๋ ๋ฐ์๋ ๋์์ด ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.