-1

나는 이걸 궁금해했다.AB + C를 몇 비트 저장해야합니까?

A, B가 16 비트 숫자이고 C가 8 비트 인 경우 결과를 저장할 비트가 몇 개 필요합니까? 32 또는 33?

그리고 C가 16 비트 숫자라면? 그 때 무엇?

내가 어떻게하면 좋을지에 대한 설명을 듣고 답을 얻으면 감사하겠습니다.

+0

왜이 기능은 다운 그레이드 되었습니까? – Floose

답변

2

왜 각 레지스터의 최대 값을 가져 와서 결과를 확인하지 않습니까?

모든 레지스터가 서명되지 않은 경우

0xFFFF * 0xFFFF + 0xFF = 0xFFFE0100 = // 32 bits are enough 

0xFFFF * 0xFFFF + 0xFFFF = 0xFFFF0000 // 32 bits are enough 

모든 레지스터가 로그인 한 경우, 0xFFFF가 = -32767하지만 * 0xFFFF가 0xFFFF가 이전과 동일한 것 (네가티브 포지티브 네거티브 = *). 레지스터 C은 결과를 이전 결과보다 조금 작게 만들지 만 저장하려면 32 비트가 필요합니다.

+0

FFFF와 FFFF를 곱하면 어떻게 되나요? 내가 종이와 연필 곱셈을 할 때, 어떤 점에서 나는 1 + 1 + 1 + 1을 얻고 있습니다. 무엇이 합계 비트이고 여기에 비트를 가지고 있습니까? – Floose

+0

나는 Windows 계산기로 해냈다 ... –

+0

아, 내 다른 질문은 이것이 서명 된 표현 일 경우 어떻게 될 것인가? 내가 저장할 수있는 최대 개수는 얼마입니까? – Floose

관련 문제