728x90
Chapter 1 정수를 비트로 표현하는 방법
1. 양의 정수 표현
- 10진수 체계 - 10을 밑으로 하는 수 체계
- 2진수 체계 - 2를 밑으로 하는 수 체계
- 2진수로 표현할 수 있는 값의 범위
LSB (least significant bit) - 2진수에서 가장 오른쪽의 비트
MSB (most significant bit) - 2진수에서 가장 왼쪽의 비트
2. 2진수의 덧셈
1) 일반적인 10진법의 계산처럼 오른쪽 부터 왼쪽으로 계산
- 각 자리끼리 더한 값이 2가 되면 올려줌
ex) 11+ 10 = 101
2) XOR과 AND 연산
- XOR : 두 비트가 다르면 1, 같으면 0
- AND : 두 비트가 모두 1이면 1, 아니면 0
- XOR를 통해 올림 발생하는 1+1 빼고 연산 가능 → AND를 통해 둘 다 1이면 올림 수 반영
3) 오버플로 / 언더플로
- 오버플로 : 사용할 비트의 개수로 표현할 수 있는 범위 벗어나는 경우
조건코드(상태코드) 레지스터 > 오버플로 비트 > MSB에서 발생한 올림값 들어감 - 언더플로 : MSB 위쪽에서 1을 빌려오는 경우
3. 음수표현 방법
부호와 크기 표현법과 1의 보수 표현법은 XOR/AND 연산이 어렵거나 추가적인 하드웨어 없이 작동이 어렵기 때문에 현대 컴퓨터에서 잘 사용하지 않음
같은 숫자로 이뤄진 수를 보더라도 문맥에 따라 표현하는 값이 다를 수 있기 때문에, 어떤 표현법을 사용하는지 꼭 알고 있어야 함
1) 부호와 크기 표현법
- MSB (가장 왼쪽 비트) 를 부호 용도로 사용
0이면 양수 / 1이면 음수
ex) 4비트
→ 부호용 비트 제외하고 0~7까지 수 표현 가능
→ 양수/0/음수 포함하면 15가지 수
(양수 0과 음수 0은 똑같기 때문에 한가지로 취급)
2) 1의 보수 표현법
- 양수의 모든 비트를 뒤집는 방법
ex) 10진수 기준 7을 2진수 1의 보수 표현법으로 사용 시
(양수) 0111 (음수) 1000 - 순환 올림
MSB 쪽에서 올림이 발생한 경우, LSB로 전달
- 단점
비용 낭비 - 0을 표현하는 방법이 두 가지(0000,1111), 순환올림 처리를 위한 하드웨어 필요
복잡한 덧셈
3) 2의 보수 표현법
추가적인 하드웨어 없이, XOR과 AND연산 사용 가능한 방법
어떤 수의 비트를 뒤집고 1을 추가하면 음수로 변환 (더했을 때 0이 됨)
MSB에서 올림이 발생하면 값을 버림
0000은 뒤집고(1111) 1을 더하면 (1)0000인데,MSB에서 발생한 올림 값은 버린다고 했기 때문에 똑같이 0000이 된다.
728x90
'항해99 > cs 스터디자료' 카테고리의 다른 글
한 권으로 읽는 컴퓨터 구조와 프로그래밍 -2022.01.24.MON (0) | 2022.01.24 |
---|---|
한 권으로 읽는 컴퓨터 구조와 프로그래밍 -2022.01.22.SAT (0) | 2022.01.21 |
한 권으로 읽는 컴퓨터 구조와 프로그래밍 -2022.01.21.FRI (0) | 2022.01.21 |
한 권으로 읽는 컴퓨터 구조와 프로그래밍 -2022.01.20.THU (0) | 2022.01.20 |
한 권으로 읽는 컴퓨터 구조와 프로그래밍 -2022.01.19.WED (0) | 2022.01.19 |