2011-04-13 2 views
1

를 형성한다. 만족스러운 답을 줄 수 없었습니다.서명되지 않은 이진 뺄셈 내가 컴퓨터 아키텍처 내 교수에서 오전 2의 보수

우리는 두 개의 부호없는 정수 X있는 둘 Y를 가질 경우, 우리가 32 비트 프로세서가 가정보다 2 31 (그들 두개의 제대로 변환 할 수있는 너무 큰 정도로 보완 형식) 어떻게 빼기를 수행합니까?

감수는 상수라면 내가 컴파일러가 정적 분석이 보상 수있는 방법을 볼 수 있습니다. C 런타임과 같이 정적으로 컴파일 된 언어에서이 가능성을 어떻게 처리할까요? 이것은 단지 오버플로 오류가 발생하거나 특별한 작업을 지원 subu 일부 아키텍처를합니까?

내가 MIPS에서 찾은 모든 것은 단지 2의 보수 뺄셈을 수행하지만,이 경우에는 작동하지 않아야한다고 말합니다.

답변

1

당신이 포즈 상황은 문제가되지 않습니다. 구체적인 예 :

0xFFFFFFFF - 0xFFFF0000 
= 0xFFFFFFFF + -0xFFFF0000 
= 0xFFFFFFFF + 0x00010000 
= 0x0000FFFF 
+0

어쨌든 나는 다른 결과를 얻었으므로 여기서 종이에 내 뺄셈을 엉망으로 만들었습니다. 그러나 이것은 내가 생각한 것입니다. +1. – Joey

관련 문제