sexta-feira, 18 de maio de 2012

Sistemas de numeração

Sistemas de numeração 

Vamos estudar as formas de representação numérica: base binária, octal, decimal e hexadecimal. Conversão entre as bases numéricas. Noções de álgebra booleana. Introdução a sistemas digitais. Circuitos: de memória, combinacionais, seqüenciais e lógicos integrados. Elementos de um computador. Organização de computadores digitais. Unidades funcionais. Micro-operações. Organização do processador. Organizador de sistemas de memória.



Sistemas de numeração
Funções e Portas Lógicas
Evolução dos Sistemas Computacionais
Organização básica de um computador

Representação de Dados



Introdução
Como vimos anteriormente, dentro do computador os valores são armazenados no formato binário, ou seja, 0 e 1. De que maneira podemos então armazenar valores com sinal, positivo ou negativo, ou mesmo caracteres. É isso que iremos ver nessa Web Aula.
Números Inteiros Positivos
Como vocês já sabem, internamente, o computador armazena somente bits, ou seja, os valores 0 ou 1. Isso não é nenhum problema quando queremos representar valores numéricos inteiros. A representação de números inteiros internamente no computador se dá através da simples conversão do valor decimal para binário. Assim, o valor 11410 na memória do computador ficaria como 11100102. Portanto, ocuparia 7 bits.
No computador os bits são agrupados em palavras. Se estivermos trabalhando com um computador que utilize palavras de 8 bits, ou 1 byte, o armazenamento do valor 11410 na memória ficaria 011100102, com um zero à esquerda para completar o byte.
Na maioria das linguagens, uma variável inteira ocupa 2 bytes. Nesse caso, teríamos que preencher os bits à esquerda com zeros, até completar 16 bits.
Simples, não é?
Então, resumindo, para armazenar valores inteiros, transformamos o valor para binário e completamos com zeros a esquerda até o tamanho do dado.
Valores Inteiros Sinalizados
Como vamos armazenar o sinal se só podemos ter valores 0 e 1?
Para valores positivos a representação é igual à representação sem sinal: basta transformar para binário.
Para valores negativos foram desenvolvidas diversas maneiras para fazer isso. A mais utilizada é chamada de complemento de 2. Essa técnica consiste em:

1) Representar o valor em binário

2) Trocar 0 por 1 e 1 por 0. Ou seja, onde tem zero eu coloco um, e onde tem um eu coloco zero. O valor obtido é chamado de complemento de 1.

3) Para obter o complemento de 2, basta somar 1 ao complemento de 1.

Vamos ver um exemplo.
Vamos usar o valor -11410

Primeiro passo, transformar para binário: 011100102. Observe que foram utilizados 8 bits.

Segundo passo, troco zeros por uns e vice-versa: 100011012.
Terceiro passo, somo 1 ao valor obtido:
1 0 0 0 1 1 0 1
                    1
_____________
1 0 0 0 1 1 1 0

Essa é a representação do valor -11410
De uma maneira geral, valores numéricos sinalizados possuem o bit mais significativo (bit mais à esquerda) como sendo o indicador do sinal:

0 — positivo
1 — negativo
Representação de caracteres
E como podemos representar os caracteres utilizando somente zeros e uns?
Pois bem, para isso criou-se um código. Nesse código estabeleceu-se um valor numérico para cada caractere. A maioria dos computadores utiliza um código chamado ASCII (American Standard Code for Information Interchange). Pronuncia-se "ask".
Veja abaixo a tabela ASCII de conversão para os caracteres imprimíveis:
Assim, a palavra Organização, na memória, ficaria:

O
r
g
a
n
i
z
a
d
o
decimal
79
114
103
97
110
105
122
97
100
111
binário
0100
1111
0111
0010
0110
0111
0110
0001
0110
1110
0110
1001
0111
1010
0110
0001
0110
0100
0110
1111

Observe que os códigos para a letra "o" maiúscula e minúscula são diferentes. É por isso que na programação a comparação entre eles resulta em diferentes.
Conclusão
Vimos, então, que apesar de termos que guardar valores que não são numéricos, é possível transformar esses valores em números que ficam armazenados no formato binário.
Com isso, todas as operações do computador ficam simplificadas, já que ele atua somente sobre valores "zero" e "um".
Para saber mais:
Para saber como se representam os dados em ponto flutuante (dados reais) consulte:


STALLINGS, Williams. Arquitetura e organização de computadores. 5.ed. São Paulo: Pearson, 2005

link acessado: www.unopar.com.br
Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Nenhum comentário:

Postar um comentário