1. 진법 (Number System)
진법 정의
어떤 수를 기수(base) 를 기준으로 표현하는 방법.
자리값 = base^n
예
123(10) = 1×10^2 + 2×10^1 + 3×10^0
r진법
기수가 r인 진법
사용 가능한 숫자
0 ~ r-1
예
2진수 1011(2)
8진수 17(8)
16진수 AF(16)
2. 진수 변환
r진수 → 10진수
공식
각 자리 × (기수^자리수)
예
1010.01(2)
= 1×2^3 + 0×2^2 + 1×2^1 + 0×2^0
+ 0×2^-1 + 1×2^-2
= 8 + 0 + 2 + 0 + 0 + 0.25
= 10.25(10)
10진수 → 2진수
정수 부분
방법: 2로 계속 나누고, 나머지를 역순으로 읽는다
예
28 /2 =14 r0
14 /2 =7 r0
7 /2 =3 r1
3 /2 =1 r1
1 /2 =0 r1
= 11100(2)
소수 부분
방법: 2를 계속 곱하고, 정수 부분을 순서대로 읽는다
예
0.125 ×2 =0.25 →0
0.25 ×2 =0.5 →0
0.5 ×2 =1.0 →1
= 0.001(2)
28.125(10) = 11100.001(2)
3. 2진수 ↔ 8진수 ↔ 16진수
8 = 2^3
16 = 2^4
비트 묶기로 변환 가능
2진수 → 8진수
3비트씩 묶기
10110010(2)
101 100 010
= 5 4 2
= 542(8)
2진수 → 16진수
4비트씩 묶기
10110010
1011 0010
= B 2
= B2(16)
4. 보수 (Complement)
보수 의미
어떤 수가 기준값에서 얼마나 떨어져 있는지
1의 보수 (1's complement)
방법
비트 반전
예
1010 → 0101
2의 보수 (2's complement)
방법
1의 보수 + 1
예
1010
1의 보수
0101
+1
0110
왜 2의 보수를 쓰는가
A - B
= A + (-B)
5. 부호 있는 2진수
1. 부호-절대값
첫 비트 = 부호
+7 = 0111
-7 = 1111
문제
+0
-0
두 개 존재
2. 1의 보수
음수 = 비트 반전
문제
+0
-0
두 개 존재
3. 2의 보수 (현재 표준)
음수 = 1의 보수 +1
장점
0 하나만 존재
연산 회로 단순
컴퓨터는 감산을 덧셈으로 처리하고 낭비되는 비트값이 없으므로 2의 보수를 사용
6. 디지털 코드
BCD
10진수를 2진수로 표현
0 = 0000
1 = 0001
...
9 = 1001
1010~1111
사용 안함
ASCII
7bit 문자코드
128개 문자
Unicode
모든 문자 표현
대표
UTF-8
UTF-16
UTF-32
7. 논리게이트
입력과 출력은
0
1
AND
모두 1일 때만 1
X Y F
0 0 0
0 1 0
1 0 0
1 1 1
식
F = X·Y
OR
하나라도 1이면 1
F = X + Y
NOT
입력 반전
X F
0 1
1 0
F = X'
NAND
NOT AND
F = (X·Y)'
NOR
NOT OR
F = (X+Y)'
XOR
입력이 다르면 1
X Y F
0 0 0
0 1 1
1 0 1
1 1 0
F = X ⊕ Y
XNOR
입력이 같으면 1
OR vs XOR
OR
1 OR 1 = 1
XOR
1 XOR 1 = 0
8. 부울대수
값
0
1
연산
AND
OR
NOT
부울함수
예
F = XY + XZ
입력 조합에 따라
0 또는 1 출력
9. 부울대수 기본 공식
항등
X + 0 = X
X·1 = X
지배
X + 1 = 1
X·0 = 0
멱등
X + X = X
X·X = X
보수
X + X' = 1
X·X' = 0
교환
X+Y = Y+X
XY = YX
결합
X+(Y+Z) = (X+Y)+Z
X(YZ) = (XY)Z
분배
X(Y+Z) = XY + XZ
드모르간
(X+Y)' = X'Y'
(XY)' = X' + Y'
흡수
X + XY = X
X(X+Y) = X
10. 최소항 / 최대항
최소항 (minterm)
AND 형태
특징
특정 입력에서만 1
예 (3변수)
m0 = X'Y'Z'
m1 = X'Y'Z
...
m7 = XYZ
최대항 (maxterm)
OR 형태
특징
특정 입력에서만 0
예
M0 = X+Y+Z
11. 정규형
최소항의 합 (SOP)
F = Σm(1,4,7)
출력 1인 항만 OR
최대항의 곱 (POS)
F = ΠM(0,2,3)
출력 0인 항만 AND
12. 표준형
정규형을 간소화한 식
예
F = XY + Z
13. 카르노 도표 (K-map)
부울함수 간소화 방법
원리: 인접한 항 묶으면 변하는 변수를 제거하고 공통 변수만 남김
묶기 규칙
묶는 크기
1
2
4
8
16
반드시
2^n
묶기 전략
1. 최대한 크게 묶기
2. 묶음 수 최소화
14. 인접 개념
카르노맵은
Gray code
순서
00
01
11
10
이유
1비트만 변경
15. 무관조건 (Don't Care)
특정 입력이 절대 발생하지 않는 경우
표시
X
간소화할 때
0 또는 1
둘 다 사용 가능
예
BCD
0000~1001
사용
1010~1111
사용 안함
16. NAND / NOR
모든 논리회로는
AND OR NOT
으로 가능하지만 실제 회로는
NAND
NOR
만 사용해도 가능
이유: 함수적 완결성
NAND로 구현
NOT
X NAND X = X'
AND
(X NAND Y)' = XY
OR(드모르간 사용)
X+Y = (X'Y')'
NOR도 동일
X NOR X = X'