반응형
컴퓨터 vs 인간
인간: 10진수 사용 (signed -magnitude)
컴퓨터: 2진수 = 2의 보수 사용(2's complement)
Number Systems
Complements(보수)
: 컴퓨터에서 subtraction 과 logic operation을 쉽게 하기 위해서 complement(보수)가 사용된다.
-> 컴퓨터는 빼기를 하지 못한다.
부호없는 수 빼기
핵심:
1. M + r's complement of N : M + (r**n - N) = M - N + r**n
2. 만약 M >= N이면 carry 발생 -> carry버리고 (M-N)의 값을 가진다.
3. 만약 M < N이면carry 발생(X)-> r**n - (M-N)이 된다.
Fixed-Point Representation
- MSB(최상위 비트)를 sign bit으로 사용 (0 : positive, 1 : negative)
- Fixed-point : 소수점의 위치가 고정
(흔히 소수점은 가장 오른쪽(Integer), 혹은 가장 왼쪽 (fraction)에 고정
- Integer 표현 (-14 with 8-bit 표현)
1. signed - magnitude: 1 0001110
2. signed 1's complement: 1 1110001
3. signed 2's complement: 1 1110010
* 1's complement의 경우 0(zero)의 표현이 2가지 (+0, -0)가 있으므로 문제가 된다.
overflow
- 동일한 sign값을 add할 때만 overflow 발생
- n-bit number들의 덧셈 한 결과 값이 n+1 bit을 필요할 대 overflow가 발생한다.
- n-bit 2's complement N의 값의 범위 : -2**(n-1) ~ 2**(n-1) - 1
* overflow detection: 최상위 2 bit의 carry 값이 다르면 overflow가 된다.
반응형
'컴퓨터구조' 카테고리의 다른 글
[컴퓨터구조] 기본 컴퓨터 조직 및 디자인(Basic Computer Organization and Design), 컴퓨터 레지스터(Comput (0) | 2023.09.25 |
---|---|
[컴퓨터구조] 논리 마이크로연산(Logic Microoperations), 쉬프트 마이크로연산(Shift Microoperations) (0) | 2023.09.19 |
[컴퓨터구조] 산술 마이크로연산(Arithmetic Microoperations) (0) | 2023.09.13 |
[컴퓨터 구조] 레지스터 전송(Register Transfer) (0) | 2023.09.11 |
[컴퓨터구조] Error Detection Codes 패리티 비트(Parity bit)에 대해 (0) | 2023.09.11 |
댓글