subtração de números complementares de 2 com sinal

subtração de números complementares de 2 com sinal

Considere que usamos o número de complemento de dois de 3 bits e vamos realizar a operação de subtração. o minuendo é +3 ​​e o subtraendo é -4. devemos obter o complemento de 2 do subtraendo e adicioná-lo ao minuendo. +3=011 -4=100---> o complemento de dois é novamente 100, agora nós os somamos e obtemos 111, o que está incorreto. porque deveríamos obter 3-(-4)=+7 mas o resultado é negativo! como você analisa o estouro? por que o resultado está errado?

Responder1

Se você estiver usando o bit mais à esquerda para indicar o sinal, não poderá usar o número inteiro de 3 bits. 100é (positivo, sem sinal) 4 ou é de fato (negativo) 0.

Para que o seu número seja "-4", ele deve realmente ser 1100e não apenas 100. Você então trabalha com as informações que possui, sabendo que possui um número de 3 bits e que um desses números é negativo.

O que quero dizer é o valor que você está obtendoé7. 111é, para números sem sinal de 3 bits, exatamente 7.

Você simplesmente não está levando em consideração o fato de que o primeiro dígito não é o seu dígito de sinal se estiver usando a função de complemento de 3 bits. Você tem que olhar primeiro para o seu número e descartar informações que não sejam relevantes para a operação imediata, ou seja, o dígito do sinal. O sinal informa o que você precisa fazer com ele, mas não é uma parte “real” do valor desse número.

Se você estiver usando um número de 3 bits com sinal, por definição você só poderá realizar adição e subtração de 2 bits.

informação relacionada