Números com sinal e números sem sinal
Para se representar números inteiros em computadores, é preciso transformá-los em binário, para isto são utilizadas várias técnicas, delas quatro se destacam: Sinal e amplitude/magnitude, complemento de 1, complemento de 2, notação em excesso.
Sinal e amplitude/magnitude
Neste sistema de representação numérica o bit mais representativo (mais a esquerda) representa o sinal. 0 (zero) indica um valor positivo enquanto 1 (um) indica um valor negativo. Os bits restante indicam o módulo do número (valor do número sem sinal). A faixa de representação para n bits é de [-(2n-1-1); 2n-1-1], ou seja, para n=8 a faixa de representação é [-127;127]. Nesse sistema o número 0 (zero) possui duas representações uma negativa e uma positiva.
Complemento de 1
Este sistema de representação numérica é muito parecido com o sinal e amplitude. O bit mais representativo (mais a esquerda) também representa o sinal. 0 (zero) indica um valor positivo enquanto 1 (um) indica um valor negativo. A representação para um número negativo em complemento de 1 pode ser obtida a partir da representação do número positivo correspondente invertendo cada bit da seqüência, ou seja, trocando cada 0's por 1's e cada 1's por 0's. A faixa de representação da representação em complemento de 1 é a mesma de sinal aplitude/magnitude, ou seja, para n bits é de [-(2n-1-1); 2n-1-1]. Assim como a representação de sinal e amplitude/magnitude o número 0 (zero) possui duas representações.
Complemento de 2
Complemento de 2 é o formato mais aceito e utilizado para representação numérica. O bit mais representativo representa o sinal. 0 (zero) indica um valor positivo enquanto 1 (um) indica um valor negativo. Para se obter o valor negativo de um número em complemento de 2 basta inverter todos os bits do mesmo valor em representação positiva e somar 1 ao bit menos significativo (mais a direita) desprezando o último carry, se houver. A faixa de representação para números em complemento de 2 é assimétrica, o número de representações negativas é maior que o número de representações positivas. Para n bits a faixa de representação é de [-(2n-1); 2n-1-1]. Neste tipo de representação o número 0 (zero) possui apenas uma representação que é positiva (00).
Notação em Excesso
Neste sistema de representação o bit mais representativo representa o sinal. 1 (um) indica um valor positivo enquanto 0 (zero) indica um valor negativo. A faixa de representação, assim como em complemento de 2, também é assimétrica e o número 0 (zero) possui apenas uma representação. A faixa de representação nesse sistema é [-(2n-1); 2n-1-1]. Nesse sistema cada número inteiro corresponde ao valor desejado em complemento de 2 acrescido de um excesso de 2n-1, onde n é o número de bits da representação, ou seja, se a representação possuir 4 bits o número 6 seria: 0110 + 1000 = 1110. A vantagem deste sistema consiste em que o maior número sempre será aquele onde todos os bits são iguais a 1 (um) e o menor número será aquele onde todos os bits são iguais a 0 (zero).
Tabela com a comparação entre os sistemas de representação
Binário (4bits) | Sinal e amplitude/ magnitude | Compl. de 1 | Compl. De 2 | Excesso de 8(n=4) |
0000 | +0 | +0 | 0 | -8(0-8) |
0001 | 1 | 1 | 1 | -7(1-8) |
0010 | 2 | 2 | 2 | -6(2-8) |
0011 | 3 | 3 | 3 | -5(3-8) |
0100 | 4 | 4 | 4 | -4(4-8) |
0101 | 5 | 5 | 5 | -3(5-8) |
0110 | 6 | 6 | 6 | -2(6-8) |
0111 | 7 | 7 | 7 | -1(7-8) |
1000 | -0 | -7 | -8 | 0(8-8) |
1001 | -1 | -6 | -7 | 1(9-8) |
1010 | -2 | -5 | -6 | 2(10-8) |
1011 | -3 | -4 | -5 | 3(11-8) |
1100 | -4 | -3 | -4 | 4(12-8) |
1101 | -5 | -2 | -3 | 5(13-8) |
1110 | -6 | -2 | -2 | 6(14-8) |
1111 | -7 | -0 | -1 | 7(15-8) |
Nenhum comentário:
Postar um comentário