Módulo IV - Representação de Números Negativos pag. 3/5

fig201Até agora, nós temos examinado aritmética binária usando números sem sinal. Entretanto, quando você realiza algumas operações aritméticas com um microprocessador, você deve estar capacitado a expressar números, positivos e negativos. Ao longo dos anos, três métodos foram desenvolvidos para representar número com sinal. Destes, apenas um método prosperou. Os dois métodos antigos serão examinados primeiro, e a seguir o sistema que é usado hoje em dia.

SINAL E MAGNETUDE

fig202

Usando este sistema, um número binário contém ambos, o sinal ( + ou - ) e o valor do número. Portanto, valores positivos e negativos seriam expressos como na figura.

O MSB do número binário indica o sinal, enquanto que os bits remanescente contém o valor do número. Como você pode ver, um bit de sinal zero indica um valor positivo, enquanto um bit de sinal um indica um valor negativo.

Apesar deste método de se representar números negativos parecer lógico, ele pouco durou.

Devido a ele requerer uma circuitaria aritmética complexa e lenta ele foi abandonado antes do advento do microprocessador.

 

COMPLEMENTO DE UM

É um outro método de representação de números negativos que se tornou popular no início da época dos computadores. Ele é chamado método do complemento de um. Usando este sistema, números positivos eram representados do mesmo modo que no sistema de sinal magnitude. Ou seja, o MSB em qualquer número é considerado um bit de sinal. Um bit de sinal 0 representa positivo.

Números negativos são representados pelo complemento de um do valor positivo, que é formado pela troca de todos os 0 por 1 e de todos os 1 por 0, a representação -410 é:
-410 = 1 11110112
Todos os bits, inclusive o de sinal, foram invertidos. Da mesma modo:
-1710 = 1 11011102 -12710 = 1 00000002

O método do complemento de um não é usado para representar números com sinal em microprocessadores.

fig203
fig203b

A tabela de valores ao lado mostra uma relação interessante. Na primeira coluna, padrões de 8 bits de 0 e 1 são mostrados.

A segunda coluna mostra o número decimal que cada padrão representa se considerarmos o padrão sendo um número sem sinal.

Observe que um padrão de 8 bits pode representar números sem sinal entre 0 e 25510.

A terceira coluna mostra o número que cada padrão representa se você considerar o padrão sendo o complemento de um do número binário.

Observe que a faixa dos números é desde - 12710 até + 12710. Observe também que há duas representações do zero. o padrão 0000 00002 representa ( + 0 ) enquanto que seu complemento de um 1111 11112 representa ( - 0 ).

COMPLEMENTO DE DOIS

O método usado para representar números com sinal em microprocessadores é chamado complemento de dois. Números positivos são representados exatamente como eram com o método do sinal e magnitude e o método do complemento de um. Entretanto, números negativos são representados como complemento de dois dos números positivos.

fig204

O complemento de dois de um número é formado tomando-se o complemento de um e somado-se um. Por exemplo se você trabalha com números de 8 bits e usa o sistema de complemento de dois, +410 é representado por 000001002. Para achar -410 você deve achar o complemento de dois deste número. Você faz o complemento de um, o que é 111110112 e soma 1. Assim a representação em complemento de dois de -410 é 111111002.

fig204b Como se expressa -1710 como um número de 8 bits em complemento de dois?
Comece com a representação binária de +1710( 000100012). Aí obtenha o complemento de um trocando todos os 1 por 0 e todos os 0 por 1( 111011102). A seguir, ache o complemento de dois acrescentando um(111011112).

fig203b

A tabela de valores compara números sem sinal, números em complemento de um e números em complemento de dois.

Observe que a faixa dos números em complemento de dois de 8 bits, vai desde -12810 até +12710. Já que esta tábua inclui todos os possíveis 256 padrões de bits, você pode olhar qualquer padrão para ver que número ele representa.

O padrão que apresentar 0 como seu MSB é fácil de se determinar sem a tábua, pois representa o número binário diretamente.
Mas qual número decimal é representado pelo número em complemento de dois 11110011? Você deve saber que isto representa algum número negativo pois seu MSB é 1.

Você pode determinar o valor "real do número", tomando o complemento de dois para achar o número positivo equivalente. Há um artifício que facilita muito a determinação do complemento de dois, que consiste em repetir o número da direita pára a esquerda até o primeiro dígito 1 inclusive e inverter os demais dígitos.

Estude os exemplos de complemento de dois (exemplo1) e (exemplo2).

ICEA/EAD © 2005
Complemento de dois