|
Até
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
 |
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.
|
 |
 |
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.
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.
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).
 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).
|