n비트에서 -a의 2의 보수 계산 방법
① 2^n - a
ex) 4비트에서 -4의 2의 보수
2^4 - 4 = 12 = 1100(2)
②음수의 2의 보수는 음수의 1의 보수값보다 1이 크다는 사실을 이용
4비트 2진수의 1의 보수와 2의 보수
음수의 1의 보수 음수의 2의 보수 모두 가장 왼쪽의 있는 비트가 모두 1 이 비트를 최상위비트(MSB: Most Signifiant Bit) 또는 부호비트(Sign Bit) |
음수에서 2의 보수는 1의보수보다 1이 더크다. |
ex) 4비트에서 -4의 2의 보수
4 = 0100(2) →(1의보수)→ 1011(2) →(+1)→ 1100(2)
③오버플로우를 이용(-a + a = 0)
ex) 4비트 연산에서
1. 가장 오른쪽에서 처음 나타나는 1까지 그대로 둔다.
2. 나머지 비트는 모두 0은 1로 1은 0으로 바꾼다. |
'c' 카테고리의 다른 글
출력형식(printf) 변환명세와 필드값 정렬 (0) | 2012.11.20 |
---|---|
함수와 2차원 배열로의 전달인수 (1) | 2012.11.15 |
다차원 배열과 포인터 (0) | 2012.11.14 |
const 와 포인터 (0) | 2012.11.13 |
함수의 전달인수 배열 (0) | 2012.11.12 |