Representação Numérica
O sistema numérico decimal apresenta 10 algarismos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) e cada número é composto por uma combinação desses dígitos. Essa combinação representa o somatório de cada dígito multiplicado pela base, o número 10, elevado por um índice correspondente ao seu posicionamento. Por exemplo, o número significa:
1 \cdot 100 + 6 \cdot 10 + 8 \cdot 1 = + + . No entanto, esse sistema não é o único disponível para representações numéricas, visto que podemos substituir a base usada na formação de um número para outro número. Usando o número 2 como base, também conhecida como base binária, estaremos limitados a dois algarismos: (0, 1). Esse sistema é usado extensivamente na computação e eletrônica, já que seus 2 algarismos, também chamdos de bits, representam os dois estados de um sistema digital: alto e baixo. Note que o subscrito abaixo de um número representa sua base numérica.
Inteiros
Qualquer inteiro na base decimal pode ser representado na base binária generalizando a mesma regra da base decimal para essa base. Por exemplo, podemos representar o número na base 2 com o número , já que = + + = 4 + 2 + 0 = . O número é outro exemplo de um número na base 2. Sua conversão para a base decimal é: = + + + = 8 + 4 + 2 + 1 = . Podemos representar números negativos ou positivos usando o complemento de 2, em que a convenção diz que um número negativo possui seu dígito mais significativo(MSB) igual a 1 e corresponde ao complemento de 1 do número positivo somado ao número 1, em que complemento de 1 corresponde a troca de cada bit do número pelo seu inverso ou complemento, enquanto um número positivo possui MSB igual a 0 e mantém a representação convencional de números inteiros binários. Por exemplo, o número representa , enquanto representa .
Ponto fixo
Números com parte fracionária também podem ser representados usando a base binária. Um dos métodos para realizar essa representção é a do ponto fixo. Nela, definimos um número binário , em que pode ser 0 ou 1, tal que qualquer à esquerda do ponto representa a parte inteira de um número, e cada depois do ponto representa a parte fracionária do número. A formação da parte fracionária do número segue a mesma regra da parte decimal, com a diferença de que os expoentes associados às bases são negativos. A título de exemplo, representa o número , pois = + + + + + = 4 + 2 + 0 + 0.5 + 0.125 = .
Ponto flutuante
A representação por ponto fixo tem suas limitações, já que o intervalo de números que podem ser representados é limitado pelo número de dígitos da parte inteira usado para representar os números. Por exemplo, um número do tipo está limitado ao intervalo , mas, em aplicações reais, precisamos representar números que podem ser muito grandes ou muito pequenos. Para contornar isso, usa-se a representação por ponto flutuante, que pode delimitar o seu alcance livremente da seguinte forma: seja N um número de ponto flutuante no padrão IEEE 754, N = , em que s corresponde ao bit que define o sinal em complemento de 2, F corresponde a parte fracionária de um número, e E corresponde ao número que ao ser subtraído 127, resulta no expoente. Um número que segue esse padrão possuiŕa 32 bits no total, sendo que, do total, 1 bit será usado para o sinal, s, 8 bits para E, e 23 bits para a parte fracionária, F.
Exercícios
1)
Converta os seguintes números em complemento de 2 para o sistema decimal:
a) 01010
b) 11101
c) 00001
2)
Mostre a representação binária do número segundo o padrão IEEE 754.
Resolução dos exercícios
1)
a) 01010
O MSB desse número é 0, logo, é um número positivo. Para representá-lo na base 10, basta calcular o somatório de cada dígito multiplicado por 2 elevado por um índice correspondente ao seu posicionamento. Nesse caso, = + + + = .
b) 11101
O MSB desse número é 1, logo, é um número negativo. Para representá-lo na base 10, precisamos calcular seu correspondente em complemento de 2 e convertê-lo para base com o sinal negativo. Assim, o complemento de 2 de é , que é , mas como esse número é negativo, =
c) 00001
Esse é um número positivo, logo, seu correspondente na base 10 é igual a + + + = .
2)
pode ser escrito como , que em notação científica é igual a . Logo, F = , E = = e s = 1. Assim, sua representação por bits seria 10111111010000000000000000000000. Na base 10, -0.75 é calculado como = = . Isso prova que essa representação por bits representa .
Bibliografia
- Livro - Fundamentals of Digital Logic with Verilog Design, THIRD EDITION, Stephen Brown and Zvonko Vranesic
- Livro - Computer Organization and Design, FIFTH EDITION, David A. Patterson, John LeRoy Hennessy
Autores
- Artur Oliveira Arraes (14745532)
- Fernando Lucas Vieira Souza (12703069)