Universidade Federal do Rio Grande do Norte
Instituto Metrópole Digital
IMD0121 –Arquitetura de Computadores
Sistemas de
IMD0121
Numeração
Prof. Gustavo Girão
girao@[Link]
Roteiro
• Conhecer os sistemas de numeração binário, octal,
decimal e hexadecimal.
• Descrever as principais características de cada um
dos sistemas de numeração.
IMD0121
• Aprender a converter um número entre as diversas
bases numéricas.
• Conhecer os códigos BCD e Gray.
2
Origens da Computação
• A capacidade do ser humano em realizar cálculos
surgiu com sua habilidade de se comunicar com mais
precisão.
• Evolução da comunicação (desde as pinturas rupestres
até o surgimento da escrita.
IMD0121
• Surgimento do alfabeto (não era necessário memorizar
uma infinidade de símbolos).
3
Origens da Computação
• Para representar as quantidades envolvidas em
computações, foi necessário o desenvolvimento de
sistemas de numeração.
• Decimal - o sistema mais evidente devido o uso dos
dedos das mãos.
IMD0121
• Sexagesimal (base 60) - usado pelos babilônicos.
• Vigesimal (base 20) - usado pelos maias.
• Romanos, egípcios, ....
4
Como representar computações?
IMD0121
5
Sistemas de numeração
• O que são sistemas de numeração?
o São sistemas em que um conjunto de números são
representados por numerais de forma consistente.
o Os sistemas de numeração são também chamados de
bases.
IMD0121
• Nomenclatura
o A base escolhida é indicada por um número sobrescrito
após o número em questão.
1456 10
• Exemplos de base
o Binária, octal, hexadecimal, decimal.
6
Diferentes Representações
Uma base b irá apresentar b algarismos, variando
entre 0 e b-1.
• Sistema Decimal
IMD0121
o Base 10: possui 10 algarismos diferentes.
o Algarismos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
• Sistema Binário
o Base 2: possui 2 algarismos diferentes.
o Algarismos: 0, 1.
• Quais os motivos que levam o uso do sistema
7
binário nos computadores?
Aplicação em sistemas computacionais
• O sistema de numeração com o qual estamos mais
familiarizados é o decimal, cujo alfabeto (coleção de
símbolos) é formado por 10 dígitos.
• Um Computador Decimal:
IMD0121
o 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.
o 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.
8
Aplicação em sistemas computacionais
• 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.
• Conseqüência: O sistema de numeração mais seguro deveria
IMD0121
ser aquele com o menor número de símbolos (dígitos).
• 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).
o 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). 9
Diferentes Representações
• Sistema Octal
o Base 8: possui 8 algarismos diferentes.
o Algarismos: 0, 1, 2, 3, 4, 5, 6, 7.
o Cada dígito é representado por três bits.
IMD0121
• Sistema Hexadecimal
o Base 16: possui 16 algarismos diferentes.
o Algarismos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
o Cada dígito é representado por quatro bits.
10
Diferentes Representações
IMD0121
11
Geração de Inteiros
• 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.
IMD0121
0→1→2→3→ 4→5→6→7→8→9→0
• 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. 12
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
IMD0121
• 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.
13
Teorema Fundamental da Numeração
IMD0121
14
Faixa de Contagem
• Um número escrito em uma base B que
possui N dígitos, permite a contagem de BN
elementos, com valores variando entre 0 e
BN - 1.
IMD0121
15
Faixa de Contagem
• Exercício
o Qual o número máximo que pode ser contado
com 4 bits?
IMD0121
o Quantos números podem ser contados com 4
bits?
o Quantos bits (i.e.: sistema binário) eu preciso
para representar 25 valores distintos?
o Que funções matemáticas representam estes 16
valores?
Sistemas de numeração digital
• O Sistema Decimal:
o Dez símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Cada número é um dígito (do latim, dedo).
• Dígitos mais significantes (MSD) e dígitos menos
significantes (LSD).
• Valor posicional pode ser declarado como um dígito
multiplicado por uma potência de 10.
Sistemas de numeração digital
Sistemas de numeração digital
• O Sistema Binário (base 02) :
o Dois símbolos: 0 e 1.
Emprega-se no projeto de circuitos eletrônicos com apenas dois
diferentes níveis de tensão obrigatórios.
o Valor posicional pode ser indicado como um dígito
multiplicado por uma potência de 2.
Sistemas de numeração digital
Representação de quantidades
binárias
• Representação típica dos dois estados de um sinal
digital.
• Muitas vezes, ALTO e BAIXO são utilizados para
descrever os estados de um sistema digital em vez
de 1 e 0.
• O osciloscópio é utilizado para produzir diagramas
de tempo.
• Os diagramas de tempo mostram a tensão versus o
tempo. São usados para demonstrar como os sinais
digitais evoluem com o tempo, ou para comparar
dois ou mais sinais digitais.
Representação de quantidades
binárias
IMD0121
CONVERSÕES ENTRE SISTEMAS 23
Conversões de Números
• Conversão de base R para decimal
• converte-se a base e cada dígito do número para o
equivalente decimal.
• decompõe-se o número de acordo com a estrutura
IMD0121
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 24
Conversões de Números
• Passagem de uma base 10 para a base R
• 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.
IMD0121
Os restos das divisões sucessivas, lidos do último para o
primeiro, constituem o número transformado para a base
R.
25
Conversão Decimal → Binário
715 |_2_
1 357 |_2_
715 = 10110010112
1 178 |_2_
0 89 |_2_
1 44 |_2_
0 22 |_2_
0 11 |_2_
1 5 |_2_
1 2 |_2_
0 1 |_2_
1 0
Conversão Decimal →
Octal
715 |_8_
3 89 |_8_ 715 = 13138
1 11 |_8_
3 1 |_8_
1 0
Conversão Decimal →
Hexadecimal
715 |_16_ 715 = 2CB16
11 44 |_16_
12 2 |_16_
2 0
Hexadecimal
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
A=10 , B=11 , C=12 , D=13 , E=14 , F=15
Conversão Decimal
• Passagem de uma base 10 para a base R
• 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 é
IMD0121
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.
29
Conversão Decimal
• Passagem de uma base 10 para a base R
• Parte fracionária: Algoritmo da multiplicação
repetida.
• Exemplo:
IMD0121
30
• Então (0,4375)10 = (0,0111)2
Conversão Binário → Decimal
10110010112 = 1+2+0+8+0+0+64+128+0+512 = 715
1 x 20 = 1
1 x 21 = 2
0 x 22 = 0
1 x 23 = 8
0 x 24 = 0
0 x 25 = 0
1 x 26 = 64
1 x 27 = 128
0 x 28 = 0
1 x 29 = 512
Conversão Octal → Decimal
13138 = 3+8+192+512 = 715
3 x 80 = 3
1 x 81 = 8
3 x 82 = 192
1 x 83 = 512
Conversão Hexadecimal →
Decimal
2CB16 = 11+192+512 = 715
B x 160 = 11 x 160 = 11
C x 161 = 12 x 161 = 192
2 x 162 = 512
Conversões de Números Binários
• Octal para hexadecimal
o Opção 1: octal - decimal - hexadecimal
o Opção 2: octal - binário - hexadecimal
o Por motivo de simplicidade, será adotada a opção 2
IMD0121
34
Outras Conversões
• Binário → Octal;
• Binário → Hexadecimal;
• Octal → Binário;
• Hexadecimal → Binário;
Conversões de Números Binários
• Binário para octal
o Um dígito pode ser representado por 3 bits
IMD0121
• Binário para decimal
o Paridade
LSB (least significant bit) = 1: ímpar
LSB (least significant bit) = 0: par
36
111012 = 1x24 + 1x23 + 1x22 + 0x21 + 1x20 = 16 + 8 + 4 + 1 = 2910
Conversão Binário → Octal
1 011 001 0112
10110010112 →→→ 13138
1 x 20 = 1
1 x 21 = 2 1+2+0=3
0 x 22 = 0
1 x 20 = 1
0 x 21 = 0 1+2+0=1
0 x 22 = 0
1 x 20 = 1
1 x 21 = 2 1+2+0=3
0 x 22 = 0
1 x 20 = 1 1 + 0+ 0 = 1
Conversões de Números Binários
• Binário para hexadecimal
o Um dígito pode ser representado por 4 bits
IMD0121
38
Conversão Binário →
Hexadecimal
10110010112
• Segue o mesmo princípio da conversão de binário para
octal, só que agora agrupando de quatro em quatro bits.
10 1100 1011
0+0+2+0=2 8 + 4 + 0 +0 = 12 8 + 0 + 2 + 1 = 11
2 C B 16
Conversão Octal → Binário
• Simplesmente pega-se cada algarismo na base Octal e
converte-se seu valor decimal para a base Binária,
representado-se cada um dos algarismos da base Octal com
três bits, mantendo-se a ordem original (operação inversa à
conversão de Binário para Octal):
13138 → 1 011 001 0112
Conversão Hexadecimal→
Binário
• Da mesma forma, simplesmente pega-se cada algarismo na
base Hexadecimal e converte-se seu valor decimal para a
base Binária, só que agora representado-os com quatro bits
(operação inversa à conversão de Binário para Hexadecimal):
2CB16 → 10 1100 10112
Código BCD
• BCD: Decimal codificado em binário
• Permite a representação de números decimais utilizando
números binários
• Remove a longa conversão de binário puro para decimal
e vice-versa
IMD0121
• São utilizados quatro bits para representar cada dígito
decimal
• 87610 = 8 7 6
1000 0111 0110
42
• 87610 = 100001110110(BCD)
Código BCD
• Conversão de decimal para binário puro e para BCD
pode
• resultar em valores diferentes
• Conversão de decimal para BCD:
IMD0121
• 4010 = 4 0
0100 0000
• 4010 = 01000000(BCD)
• Conversão de decimal para binário puro:
• 4010 = 1010002
43
Código BCD
• Desvantagem do uso do Código BCD
o Para a representação de cada dígito decimal são utilizados 4
dígitos binários
o Quantos valores podem ser representados com quatro dígitos
binários?
Quantidade de números = BN
IMD0121
B = 2; N = 4;
Número máximo = 24 = 16
• Podem ser representados 16 números, mas o sistema decimal
só possui 10 dígitos
• Resultado: o código BCD é ineficiente com relação ao
tamanho da palavra resultante
• Vantagem do uso do Código BCD
o Fácil conversão para decimal
o É necessário memorizar apenas os 10 dígitos decimais e suas
representações em BCD 44
o Um circuito lógico simples pode realizar esta conversão
Código Gray
• É uma forma de código binário
• Diferencia do binário puro pela forma de incremento para o
próximo número
• No Código Gray, apenas 1 dígito pode mudar o estado em cada
incremento
IMD0121
• Vantagem: em máquinas, apenas um bit deve ser enviado a
cada contagem, incrementando o valor resultante.
Decimal Binário Código Gray
0 000 000
1 001 001
2 010 011
3 011 010
4 100 110
45
5 101 111
6 110 101
7 111 100
Referências
• TOCCI, Ronald J; Widmer, Neal S. Sistemas Digitais:
principios e Aplicações. 11. ed. São Paulo SP: Pearson,
2011, 817 p. ISBN 9788576050957
o Capitulo 1
IMD0121
• STALLINGS, William. Arquitetura e organização de
computadores. 10. ed. São Paulo: Pearson, 2017. 814 p.
o Capítulo 9
• PATTERSON, David A; HENNESSY, John L. Organização e
projeto de computadores: A interface
HARDWARE/SOFTWARE. Rio de Janeiro: Elsevier, 2005, 3ª
edição. 46
Universidade Federal do Rio Grande do Norte
Instituto Metrópole Digital
IMD0121 –Arquitetura de Computadores
Sistemas de
IMD0121
Numeração
Prof. Gustavo Girão
girao@[Link]