주요 용어 정리
| 한국어 | 영어 | 설명 |
| 진법(자릿수 방식) | Positional Number System | 숫자의 위치(자리)에 따라 가중치(기저의 거듭제곱)를 부여하는 방식 |
| 기수(기저) | Radix(Base) | 진법의 기초가 되는 숫자 Ex) 10진수는 10, 2진수는 2 |
| 10진수 / 2진수 / 16진수 | Decimal / Binary / Hexadecimal | 가장 흔히 쓰이는 진법 |
| 최상위 비트 / 최하위 비트 | MSB / LSB | 숫자의 가장 왼쪽 비트(Most Significant Bit) / 숫자의 가장 오른쪽 비트(Least Significant Bit) |
| 부호-크기 방식 | Signed-magnitude | MSB를 부호 비트(0:+, 1:-)로 사용하고 나머지는 절댓값을 나타내는 방식 |
| 1의 보수 / 2의 보수 | 1's / 2's Complement | 음수를 표현하기 위한 보수 방식 |
10진수에서 R진수로 변환하는 법

정수 부분
몫이 0이 될 때까지 기수(R)로 나누고, 나머지를 하위 digit부터 적용
즉, 제일 먼저 나온 나머지가 제일 하위 digit에 적용됨
Ex) Decimal (53) to Binary (r=2) Conversion
53 / 2 = 26 → rem. = 1 = a₀
26 / 2 = 13 → rem. = 0 = a₁
13 / 2 = 6 → rem. = 1 = a₂
6 / 2 = 3 → rem. = 0 = a₃
3 / 2 = 1 → rem. = 1 = a₄
1 / 2 = 0 → rem. = 1 = a₅
몫이 0이 나왔으므로 계산 중단
나머지를 거꾸로 읽어 올라가면 2진수 표기가 됨
∴53 ₁₀ = 110101 ₂
소수 부분
소수 부분이 0이 되거나 반복될 때까지 기수(R)을 곱하며, 정수 부분을 순서대로 digit 적용
무한소수가 발생할 수 있음에 주의
Ex) Decimal (.625) to Binary (r=2) Conversion
0.625 * 2 = 1.25 → F₁ = .25, a-₁ = 1
0.25 * 2 = 0.5 → F₂ = .5, a-₂ = 0
0.5 * 2 = 1.0 → F₃ = .0, a-₃ = 1
소수 부분이 0이 되었으므로 계산 중단
계산된 순서대로 읽으면 2진수 표기가 됨
∴.625 ₁₀ = .101 ₂
* 무한 소수
Ex) Decimal (.7) to Binary (r=2) Conversion
0.7 * 2 = 1.4 → F₁ = .4, a-₁ = 1
0.4 * 2 = 0.8 → F₂ = .8, a-₂ = 0
0.8 * 2 = 1.6 → F₃ = .6, a-₃ = 1
0.6 * 2 = 1.2 → F₄ = .2, a-₄ = 1
0.2 * 2 = 0.4 → F₅ = .4, a-₅ = 0
0.4 * 2 = 0.8 → F₆ = .8, a-₆ = 0 ← F₂와 동일하며 이후 반복도 동일
∴.7 ₁₀ = .1 0110 0110 0110 ··· ₂
10진수를 거친 진법 변환
r₁ 진수에서 r₂ 진수로 바로 가기 어려울 때, 10진수를 중간 매개체로 활용하는 방법
Step 1: 원래 숫자(r₁ 진수)를 각 자릿수의 가중치(기저의 거듭제곱)을 곱해서 10진수로 변환
Step 2: 구해진 10진수를 변환하고자 하는 목표 진수(r₂ 진수)의 기수로 나눠서 정수부를, 곱해서 소수부로 변환
Ex) Convert 231.3 ₄ to base-7
1. 4진수를 10진수로 변환
231.3 ₄ = 2 * 4² + 3 * 4¹ + 1 * 4⁰ + 3 * 4⁻¹
= 2 * 16 + 3 * 4 + 1 + 3 / 4 = 45.75 ₁₀
2. 10진수를 7진수로 변환
- 정수부
45 / 7 = 6 → rem. = 3 = a₀
6 / 7 = 0 → rem. = 6 = a₁
- 소수부
0.75 * 7 = 5.25 → F₁ = .25, a-₁ = 5
0.25 * 7 = 1.75 → F₂ = .75, a-₂ = 1
0. 75 * 7 = 5.25 → F₃ = .25, a-₃ = 5 ← 이후 반복
∴231.3 ₄ = 45.75 ₁₀ = 63.5151 ··· ₇