Sistemas de Numeração
Coletânea
Antonio Carlos dos Santos Souza
www.professores.ifba.edu.br/antoniocarlos
Para o computador, tudo são números.
Computador Digital Þ Normalmente a informação a ser
processada é de forma numérica ou texto Þ codificada
internamente através de um código numérico.
rico
Código mais comum Þ BINÁRIO
Por que é utilizado o sistema binário ?
REPRESENTANDO
INFORMAÇÕES
2
Sistemas de Numeração
qO sistema de numeração com o qual estamos mais
familiarizados é o decimal, cujo alfabeto (coleção de símbolos) é
formado por 10 dígitos acima mostrados.
q Um Computador Decimal: se trabalhasse com o sistema decimal um
computador precisaria codificar 10 níveis de referência para
caracterizar os 10 dígitos do sistema utilizado. Esses níveis de
referência poderiam ser valores de tensão (0V, 1V, 2V, etc.) que
precisariam ser definidos e interpretados de maneira clara e precisa
pela máquina.
q Desvantagem: quanto maior o número de interpretações maior a
probabilidade de erro. Para decidir que está lendo o número 5 a
máquina precisaria ter certeza de que o que leu não é: 0, 1, 2, 3, 4, 6,
7, 8, 9.
Sistemas de Numeração
q Conseqüência: O sistema de numeração mais seguro deveria ser
aquele com o menor número de símbolos (dígitos).
q Conclusão: o melhor sistema de numeração para uma máquina
seria o binário com apenas dois dígitos, o zero (0) e o um (1).
Obs.: Não há sistema de numeração com alfabeto de um único
dígito. Todo sistema de numeração precisa dos conceitos de
presença (1) e ausência (0).
Sistemas de Numeração
q Um possível problema no uso de máquinas binárias: o
número binário precisa de mais dígitos para ser escrito
do que o decimal.
(2)10 número de animais representado em decimal
(10)2 número de animais representado em binário
Quatro em decimal é representado como 4. Sua
representação em binário é 100.
Conseqüência: o computador binário seria mais preciso
porém muito lento porque a leitura da informação iria
requerer mais tempo.
Sistemas de Numeração
q Uma solução: o uso de dispositivos eletrônicos
baseados na tecnologia dos semicondutores, como
os transistores.
O transistor: é um dispositivo usado para controlar o fluxo de
corrente. Ele tem duas características importantes:
1- é capaz de amplificar um sinal elétrico.
2- é capaz de chavear (comutar) entre ligado e desligado (ou
fechado e aberto), deixando corrente passar através dele ou
bloqueando-a. Essas condições são também denominadas
“saturação” e “corte”, respectivamente.
v O transistor pode mudar da condição de saturação para o corte
em velocidades acima de um milionésimo de segundo. Ele pode ser
usado para caracterizar a presença (ou ausência) de um dígito
binário (0 ou 1) e pode tomar decisões desse tipo a uma taxa
superior a um milhão de decisões por segundo.
Sistemas de Numeração
O primeiro Transistor
Um Transistor moderno
vTransistor: inventado nos Laboratórios da Bell Telephone em 12/1947 por John
Bardeen, Walter Brattain e William Shockley – Prêmio Nobel de física de 1956. O
transistor é capaz de comutar em um milionésimo de segundo entre o
corte e a saturação.
Unidade maior (grupo de bits)
bits - precisa
ter bits suficientes para representar todos
os símbolos que possam ser usados:
dígitos numéricos,
letras maiúsculas e minúsculas do
alfabeto,
sinais de pontuação,
símbolos matemáticos e pixels,etc.
REPRESENTANDO
INFORMAÇÕES
8
Caracteres alfabéticos maiúsculos
26
Caracteres alfabéticos minúsculos
26
Algarismos
10
Sinais de pontuação e outros símbolos
32
Caracteres de controle
24
Total
118
REPRESENTANDO
INFORMAÇÕES
9
Sistemas de Numeração
Classificação
q Sistemas de Numeração Posicionais
q Sistemas de Numeração Não Posicionais
Sistemas Posicionais
q
Nos sistemas de numeração posicional, o valor do dígito
em um número depende da posição que ele ocupa neste
mesmo número.
1989 = 1000+900+80+9
1989 = 1x103 + 9x102 + 8x101 + 9x100
q
Há um peso para cada posição ocupada pelo dígito. Os
pesos crescem para esquerda na parte inteira e
decrescem para a direita na parte fracionária
1989,4= 1x103 + 9x102 + 8x101 + 9x100+4x10-1
Sistemas Posicionais
A representação posicional fornece uma forma simplificada
para a escrita de números e permite a representação de
qualquer número com um alfabeto (uma coleção de
símbolos) restrito de dígitos.
O sistema decimal tem:
v Base R=10
v Um alfabeto ordenado e 10 dígitos, {0, 1, 2, 3, 4, 5, 6, 7,
8, 9}, e qualquer número pode ser representado com o uso
deles.
Sistemas Posicionais
Outros Exemplos de Sistemas Posicionais
q Sistema posicional binário
base R = 2
alfabeto {0, 1}
q Sistema posicional octal
base R = 8
alfabeto {0, 1, 2, 3, 4, 5, 6, 7}
q Sistema posicional hexadecimal
base R = 16
alfabeto {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
Sistemas Não Posicionais
q Sistema de Numeração Romano
No número XX, vinte em decimal, o valor do dígito X à
esquerda é o mesmo daquele à direita. Neste caso a
representação é aditiva, com X representando a
quantidade decimal 10, e com a combinação XX
associada a 10+10=20. Por outro lado em IX (nove em
decimal) a representação é subtrativa.
Numeração Romana
M = 1000
Como antes de M não tinha
nenhuma
letra,
buscavam
a
segunda letra de maior valor.
D = 500
Depois tiravam de D o valor da letra
que vem antes.
D – C = 500 – 100 = 400
Somavam 400 ao valor de M,
porque CD está depois de M.
M + CD = 1000 + 400 = 1400
Sobrava apenas o V. Então:
MCDV = 1400 + 5= 1405
Geração de Inteiros
q Algoritmo de avanço de dígitos:
Avançar um dígito de um alfabeto ordenado consiste em
substituí-lo pelo próximo dígito na hierarquia. O dígito de
maior valor do conjunto é sempre avançado para o
aquele de menor valor na hierarquia.
0®1®2®3® 4®5®6®7®8®9®0
q Algoritmo de geração de inteiros:
a) o primeiro inteiro é o zero
b) o próximo inteiro é obtido do precedente na lista
avançando-se seu dígito mais à direita. No caso deste
dígito avançar para zero, avança-se, então, o dígito
adjacente à esquerda.
Geração de Inteiros
Exemplo: Gerar os 26 primeiros inteiros do sistema decimal.
0 ® 1 ® 2 ® 3 ® 4 ® 5 ® 6 ® 7 ® 8 ® 9 ® 10 ® 11 ®
12 ® 13 ® 14 ® 15 ® 16 ® 17 ® 18 ® 19 ® 20 ® 21
® 22 ® 23 ® 24 ® 25
v Observe que o nove avança para o zero, logo o dígito
mais à esquerda (o zero, não mostrado explicitamente
no número) é avançado para 1 gerando o próximo
número na lista, o 10.
Sistemas numéricos
• Base 10 (ou decimal)
– O que utilizamos geralmente.
• Base 2 (ou binário)
– Junto com o hexadecimal, são os outros 2
sistemas mais importantes.
• Base 16 (hexadecimal)
Sistemas numéricos
22510
O número de símbolos
usados no sistema
numérico
22516
O sistema numérico decimal
• Usado desde a antiguidade
• Acredita-se que usamos esse sistema
porque temos dez dedos nas nossas
mãos.
• Os símbolos que usamos para representar
números quando os escrevemos são os
algarismos de 0 a 9.
O sistema numérico decimal
• A partir do algarismo que representa a dezena,
indicamos o número de vezes que concluímos a
seqüência completa.
• O conceito de usar os símbolos disponíveis, em
ordem, até todos terem sido usados e, depois,
acrescentar outro dígito é a base de todos os
sistemas numéricos. A única diferença é
quantos símbolos estão disponíveis para uso.
Sistema numérico binário
• O problema do armazenamento de dados
foi um dos mais difíceis de solucionar.
• Pense nisto: Se você quisesse construir
uma máquina que fosse capaz de somar
dois números.
Sistema numérico binário
• Digamos 1+1, você teria de dar a ela a
capacidade de guardar esses números
antes de começar a se preocupar com o
problema de como somá-los.
Sistema numérico binário
• A fim de construir um dispositivo capaz de
armazenar dados com a tecnologia
mecânica disponível na época, os dados
em si tiveram de ser reduzidos ao seu
estado mais fundamental, que é o estado
no qual existem apenas duas condições –
ligado ou desligado.
Sistema numérico binário
• Não importa como você descreve essas
duas condições distintas, contanto que
elas sejam opostas e inconfundíveis.
• Você poderia descrevê-las como
verdadeiro ou falso, sim ou não, aberto ou
fechado, e assim por diante.
Recursos
• O relé
– Funcionamento
• A lâmpada ligada a um relé.
– A lâmpada apagada é 0 e a lâmpada acesa é
1.
Recursos
Tudo bem, mas vamos utilizar somente dois
números?
Não, se você usar mais relés e mais
lâmpadas, será possível representar
números cada vez maiores.
• Utilizando 2 relés...
• Utilizando 3 relés...
Sistema numérico binário
• Os padrões estão ordenados logicamente,
seguindo o mesmo método usado para
contar em qualquer sistema numérico.
• Como representaríamos, no sistema
binário, como contar até sete?
Sistema numérico binário
• Se substituirmos cada lâmpada apagada
por zero e cada lâmpada acesa por um,
será possível começar a contar usando
números binários.
• Três relés permitirão que você represente
oito quantidades distintas (de zero a sete
no sistema decimal)
Sistema numérico binário
Cada
Cada lâmpada
lâmpada
representa,
representa, para
para nós,
nós, um
um
transistor.
transistor. Podem
Podem ser
ser
tão
tão pequenos
pequenos que
que as
as
CPUs
CPUs tem
tem mais
mais de
de 11
milhão.
milhão.
Sistema numérico binário
• Cada ligado, ou desligado é um dado.
• Cada um desses dados é chamado bit.
• BIT: É uma contração do termo dígito
binário (em inglês, binary digit)
Algumas funções lógicas
elementares
• Em que circunstâncias acende a
lâmpada, para cada um dos
circuitos apresentados?
• Considerando que existe um
sinal de controlo para cada
interruptor (0: aberto; 1: fechado)
construa a tabela que relaciona
o estado da lâmpada (0: apagada;
1: acesa) com o dos sinais de
controlo, em ambos os casos
Interruptor
Interruptor
Fonte de energia
Lâmpada
Interruptor
Fonte de energia
Interruptor
Lâmpada
Sistemas posicionais de
numeração
• O sistema decimal é sistema posicional,
onde cada dígito representa o coeficiente
de uma potência de base 10 (1.492 =
1x103 + 4x102 + 9x101 + 2x100)
• O sistema romano de numeração também
é posicional, mas o facto de não haver um
peso associado a cada posição dificulta as
operações… (quanto vale MCMLIX +
XLIV?)
Conversão entre bases
• Sabendo que cada dígito representa o
coeficiente da potência associada à base de
numeração, torna-se fácil a conversão entre
bases:
– 10111010100
– B: 1x210 + 0x29 + 1x28 + 1x27 + 1x26 + 0x25 + 1x24
+ 0x23 + 1x22 + 0x21 + 0x20
– E para realizar a conversão inversa (de decimal
para binário)?
– E se pretendermos converter de / para
hexadecimal?
Transformações de Base
q Passagem de uma base R para a base 10
v converte-se a base e cada dígito do número para o
equivalente decimal.
v decompõe-se o número de acordo com a estrutura
posicional e, usando aritmética decimal, efetuam-se as
operações de produtos e somas.
Notação: (...)R ler como o número do parêntesis
expresso na base R.
(1101)2=1x23+1x22+0x21+1x20=8+4+0+1=13
(2B0)16=2x162+(11)x161+0x160= 512+176+0=688
Transformações de Base
q Passagem de uma base 10 para a base R
v Parte inteira: Algoritmo da divisão repetida
Divide-se o inteiro decimal repetidamente pela base R
até que se obtenha um quociente inteiro igual a zero. Os
restos das divisões sucessivas, lidos do último para o
primeiro, constituem o número transformado para a
base R.
(341) = (2331)
10
5
Transformações de Base
q Passagem de uma base 10 para a base R
v Parte fracionária: Algoritmo da multiplicação repetida
A parte fracionária é multiplicada por R. A parte inteira
desse produto é guardada e a parte fracionária é
novamente multiplicada por R. O processo é repetido
até que se obtenha um número com parte fracionária
nula ou até que se considere a aproximação suficiente.
As partes inteiras dos produtos sucessivos, lidas da
primeira para a última, formam a parte fracionária do
número transformado.
Transformações de Base
q Passagem de uma base 10 para a base R
Parte fracionária: Algoritmo da multiplicação repetida.
Exemplo:
Então (0,4375)10 = (0,0111)2
Transformações de Base
q Mudança de base entre base binária e base de potência
de 2
v A base para a qual se quer a transformação é expressa
no formato 2n . Se essa base for R=8, por exemplo, o
valor de “n” é 3 porque 8 = 23. Formam-se grupos, a
partir da direita do número binário, contendo uma
quantidade de dígitos igual ao número “n”. Esses grupos
de “n” dígitos são lidos e representados como os dígitos
do sistema para o qual se quer a transformação.
transformação para a base hexadecimal.
Exemplos:
(25)10 = (011|001)2 = (31)8, grupos de 3 dígitos
(8=23) a partir da direita do número binário
para transformação para a base octal.
(25)10 = (0001|1001)2 = (19)16, grupos de 4
(16=24)
Conversão
TABELA DE CONVERSÃO
Binário
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Octal
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
Decimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Hexadecimal
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Download

Sistemas de Numeração