2012-11-22 3 views
1

그래서 이진 빼기를 연습했습니다. 그것은 내 첫 시험 이후 잠시 오래 지났는데 난 내 자신의 까다로운 진 빼기를 만들기로 결정하고 나는이 하나를 내놓았다 : 물론까다로운 이진 빼기

1100 
-1101 

는 "차입 트릭은"이 문제 적어도 나는이 작동하지 않습니다 그것을 작동시키지 못했습니다. 내 유일한 선택은 두 번째 이진수의 비트 (맨 아래)를 뒤집고 기본적으로 2의 보수를 추가하여 1101이 0011이되도록 추가하는 것입니다. 그런 다음 2의 보수 표현 (0011)으로 기본 이진수 (1100)를 추가하십시오.

1100 (-4) assume 2's complement 
+ 0011 (3) assume 2's complement 

sum:1111 (-1) assume 2's complement 

이진 감산 이후 오랜 시간 이래로이 문제에 대한 확인이 필요합니다.

+1

예 - 4 비트 2를 보완합니다. –

+0

감사합니다. Paul! 초고속 피드백! 단! 소품! =] – Nicholas

+1

http://math.stackexchange.com에서 더 많은 답변을 찾을 수 있습니다 – Kev

답변

3
1100 
-1101 

0 - 1 = 1

1100 
-1101 
    1 
===== 
    1 

0 - 0 - 1 = 1

1100 
-1101 
    11 
===== 
    11 

1 - 1 - 1 = 1

1100 
-1101 
111 
===== 
    111 

1 - 1 - 1 = 1 (b (1 차입) (1 차입) (1 차입) orrow 1)

결과는 1111이고 1은 빌려 왔습니다. 부호없는 산술 연산의 경우, 이는 언더 플로우 된 결과이거나 다음 유효 숫자에서 빌려 와야 함을 의미합니다. (부호있는 산술의 측면에서 두 번째 비트를 빌려오다가 계산이 -4 - -3 = -1에 해당하므로 오버플로가 발생하지 않습니다.

+0

좋은 설명 닐! =] – Nicholas