본문 바로가기

c

n비트에서 -a의 2의 보수 계산 방법



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