![[논리와 회로설계] 이진수와 진법변환](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1oYzQ%2FbtsMMDXJyAu%2FnWFqvB5ySlMJg3se3nnezK%2Fimg.webp)
이 글과 시리즈는 대학 수업의 Fundamentals of Logic Design 수업을 정리했습니다.
이진수
- 0과 1 2개의 숫자만을 사용하여 수를 나타내는 진법
- 각각의 숫자는 비트 라고 불림
- 전자기기로 간단하게 구현할 수 있음
- 높은 전압(1) , 낮은 전압(0)
- 켜진 스위치(1), 낮은 스위치(0)
다른 진법과 표기법
Radix ( Base ) 표기법
\( N=(a_4 a_3 a_2 a_1 a_0 . a_{-1} a_{-2})_R \)
\( = a_4 \times R^4 + a_3 \times R^3 + a_2 \times R^2 + a_1 \times R^1 + a_0 \times R^0 \)
\( + a_{-1} \times R^{-1} + a_{-2} \times R^{-2} \)
Decimal ( 10진법 )
\( 892.36_{10} = 8 \times 10^2 + 9 \times 10^1 + 2 \times 10^0 + 3 \times 10^{-1} + 6 \times 10^{-2} \)
Binary ( 2진법 )
\( 1101.11_{2} = 1 \times 2^3 + 1 \times 2^2 + 0 \times 2^1 + 1 \times 2^0 + 1 \times 2^{-1} + 1 \times 2^{-2}\)
\( = 13.75_{10} \)
Octal ( 8진법 )
\( 147_{8} = 1 \times 8^2 + 4 \times 8^1 + 7 \times 8^0 = 103_{10} \)
Hex ( 16진법 )
\( A2F_{16} = 10 \times 16^2 + 2 \times 16^1 + 15 \times 16^0 = 2607_{10} \)
진법 변환 방법
10진수를 다른 진법으로
변환할 진법의 기수인 \(R\)로 몫이 0이 될때까지 계속해서 나눈다.
첫 번째 나머지를 \( a_0 \) 로 하고 n 번째 나머지를 \( a_n \) 라고 한다.
\( N=(a_n a_{n-1} ... a_2 a_1 a_0)_R \) 로 변환하면 된다.
10진수의 fraction을 다른 진법으로
1. 소수 부분에 변환할 진법의 기수인 \(R\)을 곱한다.
2. 결과의 정수 부분을 저장한다.
3. 소수 부분만 남기고 다시 \(R\)을 곱한다.
4. 반복해서 원하는 자리수까지 계산한다. 보통 소수 부분이 사라지거나 반복되는 패턴을 찾을 때 까지 계산한다.
2진수를 다른 진법으로
10진법로 변환하려면 각 자리 숫자에 \(2^n\)을 곱한 뒤 더하면 된다.
8진법으로 변환하려면 3자리씩 묶어 변환한다.
16진법으로 변환하려면 4자리씩 묶어 16진수로 변환하면 된다.
이진 연산
Addition
\( 0 + 0 = 0 \)
\( 0 + 1 = 1+ 0 = 1 \)
\( 1 + 1 = 0 \) 하고, 다음 컬럼에 1을 carry 한다.
Subtraction
\( 0 - 0 = 0 \)
\( 0 - 1 = 1 \) 하고, 다음 컬럼에서 1을 빌려온다.
\( 1 - 0 = 1 \)
\( 1 - 1 = 0 \)
Multiplication
\( 0 \times 0 = 0 \)
\( 0 \times 1 = 0 \)
\( 1 \times 0 = 0 \)
\( 1 \times 1 = 0 \)
Example) \( 13 \times 10 \)
\( 1101_{2} \times 1011_{2} = 1001111_{2} = 143_{10} \)
Division
곱셈과 비슷하다.
Example) \( 145 \div 11 \)
\( 10010001_{2} \div 1011_{2}\)
몫은 \( 1101_{2} \) , 나머지는 \( 10_{2} \) 가 나온다.
'Computer Science > Logic & Circuit' 카테고리의 다른 글
[논리와 회로설계] 배타적 논리합 및 동치 연산 (0) | 2025.03.22 |
---|---|
[논리와 회로설계] 전개와 인수분해 (0) | 2025.03.22 |
[논리와 회로설계] 논리 연산 (불 대수) (0) | 2025.03.18 |
[논리와 회로설계] 이진 코드 (0) | 2025.03.17 |
[논리와 회로설계] 디지털 시스템과 스위칭 회로 (0) | 2025.03.16 |
소프트웨어학과 현주씌의 일상을 담는 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!