Prévia do material em texto
Curso de Bacharelado em Tecnologia da Informação
Introdução à Computação e aos Sistemas de Informação (60h/a)
Sistemas de Numeração (Parte II)
Aula 05
Prof. Lenardo Chaves e Silva, D.Sc.
lenardo@ufersa.edu.br
quinta-feira, 03 de agosto de 2017
Universidade Federal Rural do Semi-Árido (UFERSA)
���'½PGYPS�2YQÅVMGS�
���%YPE��
Tópicos
2
http://www.chetu.com
Sistemas de Numeração (Parte II):
Conversões entre os Sistemas de Numeração:
Conversão Binário-Decimal;
Conversão Decimal-Binário;
Conversão Binário-Hexadecimal;
Conversão Hexadecimal-Binário;
Conversão Decimal-Hexadecimal;
Conversão Hexadecimal-Decimal.
Referências.
lenardo@ufersa.edu.br
Vimos também...
5
http://www.chetu.com
lenardo@ufersa.edu.br
Computador Digital
Tudo são Números!
Sistemas de Numeração:
Decimal: 10 símbolos (base 10);
Binário: 2 símbolos (base 2);
Octal: 8 símbolos (base 8);
Hexadecimal: 16 símbolos (base
16).
FONTE: http://www.bbc.co.uk/education/guides/z26rcdm/revision
CONVERSÃO
Sinais Elétricos ON e OFF Sequência de 1s e 0s
Conversão entre os
Sistemas de Numeração
6
http://www.chetu.com
lenardo@ufersa.edu.br
1. Conversão de Binário para Decimal
1.1 Técnica: somar os pesos das posições que contém o bit 1.
Exemplos:
Número Binário: 110112
1 1 0 1 1
24 + 23 + 0 + 21 + 20
=
16 + 8 + 2 + 1
=
2710
Número Binário: 101101012
1 0 1 1 0 1 0 1
27 + 0 + 25 + 24 + 0 + 22 + 0 + 20
=
128 + 32 + 16 + 4 + 1
=
18110
Método Padrão
�
Conversão entre os
Sistemas de Numeração
7
http://www.chetu.com
lenardo@ufersa.edu.br
1. Conversão de Binário para Decimal
1.2 Técnica: Double-Dabble.
Exemplos: Número Binário: 110112
1 1 0 1 1
1x2 = 2
+1
3x2 = 6
+0
6x2 = 12
+1
13x2 = 26
+1
2710
Método Double-Dabble:
1. Escreva o bit 1 mais à
esquerda no número binário;
2. Multiplique-o por 2 e adicione
o próximo bit à direita;
3. Escreva o resultado abaixo do
próximo bit;
4. Continue com os passos 2 e 3
até finalizar com o número
binário.
Conversão entre os
Sistemas de Numeração
8 lenardo@ufersa.edu.br
2. Conversão de Decimal para Binário
2.1 Técnica: processo inverso ao descrito em 1.1.
Exemplos:
Número Decimal: 4510
25 + 24 + 23 + 22 + 21 + 20
32 16 8 4 2 1
=
1 0 1 1 0 1
=
1011012
Número Decimal: 7610
26 + 25 + 24 + 23 + 22 + 21 + 20
64 32 16 8 4 2 1
=
1 0 0 1 1 0 0
=
10011002
Método Padrão
Conversão entre os
Sistemas de Numeração
9 lenardo@ufersa.edu.br
2. Conversão de Decimal para Binário
2.2 Técnica: Divisão Repetida por 2.
Exemplo: Número Decimal: 2510
Método da Divisão Repetida:
1. Divida o número decimal por 2;
2. Escreva o resto após cada
divisão;
3. Continue com os passos 1 e 2
até obter um quociente igual a
zero;
4. O primeiro resto equivale ao
LSB e o último resto ao MSB.
Exemplos: Número Decimal: 3710
Conversão entre os
Sistemas de Numeração
10 lenardo@ufersa.edu.br
2. Conversão de Decimal para Binário
SIM
INÍCIO
Divida
por 2
Registre o quociente
(Q) e o resto (R)
Recolha os R’s no número
binário desejado com o
primeiro R como LSB e o
último R como MSB
FIM
NÃO
É
Q = 0?
F
lu
xo
gr
a
m
a
d
o
M
ét
od
o
d
a
D
iv
is
ã
o
R
ep
et
id
a
DICA: Você pode usar a calculadora para fazer as divisões por 2. Se o
resultado da divisão for exato, o resto é 0, caso contrário, o resto é 1.
= 1001012
Q R
2 37 1
2 18 0
2 9 1
2 4 0
2 2 0
2 1 1
0
Sistema Binário (base 2) e Sistema Decimal (base 10):
Conversão entre os
Sistemas de Numeração
11 lenardo@ufersa.edu.br
Qual o valor de 11011010112 em Decimal?
Qual o valor de 25110 em Binário?
Conversão entre os
Sistemas de Numeração
12
http://www.chetu.com
lenardo@ufersa.edu.br
3. Conversão de Hexadecimal para Decimal
Técnica: somar os produtos de cada dígito hex por seus pesos.
Exemplos:
Número Hexa:
35616
Número Hexa:
2AF16
=
(3 x 162) + (5 x 161) + (6 x 160)
=
768 + 80 + 6
=
85410
=
(2 x 162) + (10 x 161) + (15 x 160)
=
512 + 160 + 15
=
68710
Note que no segundo exemplo o valor 10 foi substituído por A
e o valor 15 por F na conversão para decimal.
Conversão entre os
Sistemas de Numeração
13
http://www.chetu.com
lenardo@ufersa.edu.br
4. Conversão de Decimal para Hexadecimal
Técnica: Divisão Repetida por 16.
Exemplos:
Número Decimal: 42310 Número Decimal: 21410
DICA: Você pode usar a calculadora para fazer as divisões por 16.
Porém, o resultado irá incluir uma fração decimal em vez de um resto.
O resto da divisão pode ser obtido multiplicando a fração por 16.
Sistema Hexadecimal (base 16) e Sistema Decimal (base 10):
Conversão entre os
Sistemas de Numeração
14 lenardo@ufersa.edu.br
Qual o valor de 1BC216 em Decimal?
Qual o valor de 42810 em Hexadecimal?
Conversão entre os
Sistemas de Numeração
15
http://www.chetu.com
lenardo@ufersa.edu.br
5. Conversão de Hexadecimal para Binário
Técnica: cada dígito hexa é convertido em seu equivalente binário de
quatro bits.
Exemplos:
Número Hexa: BA616 Número Hexa: 9F216
9 F 2
1 0 0 1 1 1 1 1 0 0 1 0
=
1001111100102
B A 6
1 0 1 1 1 0 1 0 0 1 1 0
=
1011101001102
DICA: Zeros podem ser adicionados à esquerda do MSB para
preencher o último grupo de 4 bits.
Conversão entre os
Sistemas de Numeração
16 lenardo@ufersa.edu.br
6. Conversão de Binário para Hexadecimal
Técnica: processo inverso ao descrito em 5.
1. Agrupar bits em grupos de 4 a partir do LSB;
2. Converter cada grupo para o hexadecimal equivalente.
Exemplos:
Número Binário:
11101001102
Número Binário:
1010111112
0 0 1 1 1 0 1 0 0 1 1 0 { { {
3 A 6
=
3A616
0 0 0 1 0 1 0 1 1 1 1 1 { { {
1 5 F
=
15F16
Conversão entre os
Sistemas de Numeração
17 lenardo@ufersa.edu.br
6. Conversão de Binário para Hexadecimal
HEXADECIMAL BINÁRIO
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111
Conheça os números binários de
quatro bits (0000 - 1111) e seus dígitos
hexadecimais equivalentes.
Sistema Hexadecimal (base 16) e Sistema Binário (base 2):
Conversão entre os
Sistemas de Numeração
18 lenardo@ufersa.edu.br
Qual o valor de 6FD16 em Binário?
Qual o valor de 10001110112 em Hexadecimal?
Contagem no Sistema Hexadecimal:
Cada posição do dígito (de 0 à F) incrementado em + 1:
Exemplo:
... 38, 39, 3A, 3B, 3C, 3D, 3E, 3F, 40, 41, ...
+1 39
+1 3A
+1 3B
+1 3C
+1 3D
+1 3E
+1 3F
+1 40
+1 41
+1 ...
Sistemas de Numeração
19 lenardo@ufersa.edu.br
Quando há um 9 na posição de um dígito, ele
torna-se um A quando ele é incrementado.
Ao atingir a posição com valor F, ela é redefinido para
0 e a próxima posição do dígito é incrementada.
Com n dígitos hexadecimais: contagem 0 à 16n – 1
Ex.: n = 3 00016 até FFF16 = 010 até 409510 - um total de 4096 = 16
3 valores.
Utilidade do Sistema Hexadecimal:
Sistemas Digitais:
Representar grandes (e.g., acima de 64bits) cadeias de bits (i.e.,
abreviação):
Exemplo: Não apenas valores numéricos,mas também informações
não numéricas códigos.
Vantagens:
Conveniência lidar com um grande número de bits;
Facilitar a manipulação (e.g., escrita) reduzir a propensão a erros;
Conversão facilitada: hex binário.
Sistemas de Numeração
20 lenardo@ufersa.edu.br
Você prefere verificar 50 números como este
01101110011001112 ou 50 números como este 6E6716?
Conversão de Decimal para Hexadecimal para Binário:
Conversão entre os
Sistemas de Numeração
21 lenardo@ufersa.edu.br
Qual o valor de 37810 em Binário usando o número em
Hexadecimal como primeira etapa da conversão?
Conversão de Números Fracionários:
Decimal para outros sistemas:
Operação inversa: multiplicar a parte fracionária pela base até
que a parte fracionária do resultado seja zero.
Conversão entre os
Sistemas de Numeração
22 lenardo@ufersa.edu.br
Exemplos: Número Decimal: 8,37510
• Parte Inteira: 810 = 10002
• Parte Fracionária: 0,37510
0,375
x 2
0,750
0
0,750
x 2
1,500
1
0,500
x 2
1,000
1
0,000
= 0112
= 1000,0112
Aritmética Binária
4lenardo@ufersa.edu.br
Adição Binária
Regras:
OPERANDOS BINÁRIOS SOMA
(S)
TRANSPORTE
(Carry1)A B
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
1 1 1 1 1
Carry A
B +
S
RESULTADO
0
1
1
10
11
1 “Vai-um” para a posição de ordem superior
p/ esquerda:
+1
Caso Especial: 12 + 12 = 102 = 210 01
+ 01
10
No Sistema Decimal: 1610 + 710 = 2310
+1 (dezena )
1 6
+ 7
2 3
Aritmética Binária
5lenardo@ufersa.edu.br
Adição Binária
Exemplos:
1. Adicionar (1010)2 e (0101)2
1010
+ 0101
1111
= 1010
= +510
= 1510
10 = 1010
11 = + 1011
10101 = 2110
3. Adicionar 1011,0112 e 110,12
1011,011
+ 110,1
10001,111
= 11,37510
= +6,510
= 17,87510
4. Adicionar 4,2510, 7,7510 e 810
em binário
4,25 = 100,01
7,75 = 111,11
8,00 = + 1000,00
10100,002 = 20,0010
11
2. Adicionar 1010 e 1110 em binário
00
111
11111 1
Aritmética Binária
6lenardo@ufersa.edu.br
Subtração Binária
Regras:
OPERANDOS BINÁRIOS DIFERENÇA
(D)
EMPRÉSTIMO
(Borrow2)A B
0 0 0 0
0 1 1 10
1 0 1 0
1 1 0 0
Borrow A
B -
S
RESULTADO
0
1
1
0
2 “Vem-um” da posição de ordem superior da
esquerda:
0 +10 = 210
Caso Especial: 102 - 12 = ? 1 0
- 1
1
No Sistema Decimal: 2410 - 1710 = 710
1 +10
2 4
- 1 7
0 7
Aritmética Binária
7lenardo@ufersa.edu.br
Subtração Binária
Exemplos:
1. Subtrair (10101)2 de (11011)2
11011
- 10101
00110
= 2710
= -2110
= 610
2. Subtrair 1010 de 2210 em binário
22 = 10110
10 = - 1010
01100 = 1210
1
0
3. Subtrair 1010 de 1610 em binário
16 = 10000
10 = - 1010
00110 = 610
12
12
02
4. Subtrair 410 de 910 em binário
+9 = 01001
+4 = 00100
= +510
Complemento de 2:
+42 = 00100
-42 = 11011 cp1
+ 1
11100
+9 = 01001
-4 = +11100
100101
10
Subtraindo
uma unidade
do minuendo à
esquerda!
Somando uma
unidade ao
subtraendo à
esquerda!
Representando
Grandezas com Sinal
8lenardo@ufersa.edu.br
Sistema Sinal-Magnitude:
MSB sinal: 0 número positivo; 1 número negativo.
Demais bits grandeza (i.e., magnitude):
Valor dos bits independe do sinal.
Magnitude = 5210
Magnitude = 5210
Bit de Sinal (+)
Bit de Sinal (-)
R
e
gi
st
ra
d
o
re
s
d
e
6
b
it
s
Representando
Grandezas com Sinal
9lenardo@ufersa.edu.br
Sistema Sinal-Magnitude:
Exemplos: 8 bits
Obs.: Representação em binário com n bits:
Sinal = 1 bit (MSB);
Magnitude = n-1 bits.
VALOR DECIMAL VALOR BINÁRIO
(Bit Sinal + 7 Bits de Magnitude)
+9 00001001
-9 10001001
+127 01111111
-127 11111111
Representando
Grandezas com Sinal
10lenardo@ufersa.edu.br
Sistema de Complemento de 2:
Principal representação para números binários com sinal;
Passos:
1. Converter o número binário para a forma Complemento de 1:
2. Converter da forma Complemento de 1 para Complemento de 2:
Adicionar +1 ao LSB do número na forma do Complemento de 1.
Número Binário Original
Trocar cada bit pelo seu bit oposto (i.e., 0 1 e 1 0)
1 0 1 1 0 1
0 1 0 0 1 0
0 1 0 0 1 0
+ 1
0 1 0 0 1 1 Complemento de 2
Complemento de 1
Representando
Grandezas com Sinal
11lenardo@ufersa.edu.br
Sistema de Complemento de 2:
Número Positivo (MSB = 0): bit 0 + forma binária original.
Número Negativo (MSB = 1): bit 1 + complemento de 2.
Binário Original
Complemento de 2
Bit de Sinal (+)
Bit de Sinal (-)
DICA: Esse sistema é importante porque permite que o computador digital
execute a operação de subtração binária por meio da adição binária.
0’s +
1’s +
N
ão
h
á
al
te
ra
çã
o
d
e
v
al
o
r!
Aritmética Binária
12lenardo@ufersa.edu.br
Subtração Binária no Sistema de Complemento de 2:
No exemplo...
4. Subtrair 410 de 910 em binário
+9 = 01001 e +4 = 00100
= +510
Passo 1:
Complemento de 2:
+42 = 00100
-42 = 11011 cp1
+ 1
11100
Passos 2 e 3:
+9 = 01001
-4 = +11100
100101
A - B = A + (-B)
Passos:
1. Negar o subtraendo usando o
sistema de complemento de 2;
2. Adicionar o resultado ao minuendo.
Se o minuendo for negativo, aplicar
também o complemento de 2;
3. A resposta representa a diferença.
Aritmética Binária
13lenardo@ufersa.edu.br
Multiplicação Binária
Regras:
OPERANDOS BINÁRIOS PRODUTO
(P1)A B
0 0 0
0 1 0
1 0 0
1 1 1
RESULTADO
0
0
0
1
2 O produto de dois números binários é igual a 1, somente se ambos os operandos
são 1, caso contrário o produto é igual a 0.
Aritmética Binária
14lenardo@ufersa.edu.br
Multiplicação Binária
Exemplos:
= 3510
1. Multiplicar 710 por 510 em
binário
710 = 111
510 = x 101
111
000
+ 111
100011
111
= 13210
2. Multiplicar 2210 por 610 em
binário
2210 = 10110
610 = x 110
00000
10110
+ 10110
10000100
1111
Aritmética Binária
15lenardo@ufersa.edu.br
Divisão Binária
Regras:
OPERANDOS BINÁRIOS
DIVISÃO3
A B
0 1 0
1 1 1
RESULTADO
0
1
3 Divisão por zero não é permitida.
Aritmética Binária
16lenardo@ufersa.edu.br
Divisão Binária
Exemplos:
1. Dividir 7510 por 310 em
binário
7510 = 1001011
310 = 11
2. Dividir 110012 por 102
=
1001011 11
-11 11001
0011
-11
00011
-11
(0)
{
= 2510
110012 = 2510
102 = 210
=
11001 10
-10 1100,1
010
-10
0001
-00
(1)
{
= 12,510
Estouro Aritmético
17lenardo@ufersa.edu.br
Estouro de Bits (Overflow):
Ocorrência:
Na adição, apenas quando dois números positivos/negativos são
adicionados;
Na subtração, apenas quando o minuendo e subtraendo possuem
sinais diferentes.
Exemplo:
Detecção: Verificar se o bit de sinal do resultado é idêntico aos bits
de sinais dos números que estão sendo adicionados.
Magnitude Incorreta (i.e., 4 bits)
+9 0 1 0 0 1
+8 0 1 0 0 0
1 0 0 0 1{
Sinal Incorreto (-)
Resposta Correta:
+1710 = 000100012
TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas digitais: Princípios e
Aplicações. 11ª ed. São Paulo: Prentice Hall, 2011. 840p. Cap. 2 e 6.
CAPUANO, F. G.; IDOETA, I. V. Elementos da eletrônica digital. 41. ed. São
Paulo: Érica, 2012. 544p.
Referências
18lenardo@ufersa.edu.br