Introdução à Arquitetura de
Computadores e Sistemas
Operacionais
Professor: Mauro Jansen
Sistemas de Numeração e
operações binárias
Versão: 02/2018
Prof. Mauro Jansen
Sistemas de Numeração
Introd.Arq.Computadores e SO
Sistemas de Numeração 2
Prof. Mauro Jansen
Sistemas de numeração
• Conjunto de regras que nos permite
escrever e ler qualquer número
utilizando símbolos básicos
(algarismos ou dígitos).
• Chamamos de “base N” o sistema de
numeração que usa “N” símbolos
para representar os números
– Ex.: base 10, base 2, base 8, base 16
Introd.Arq.Computadores e SO
Sistemas de Numeração 3
Prof. Mauro Jansen
Sistemas de numeração
• Exemplos:
– Sistema decimal (base 10)
• Dez símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
– Sistema binário (base 2)
• Dois símbolos: 0 e 1 (que são bits)
– Sistema octal (base 8)
• Oito símbolos: 0, 1, 2, 3, 4, 5, 6, 7
– Sistema hexadecimal (base 16)
• Dezesseis símbolos:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Introd.Arq.Computadores e SO
Sistemas de Numeração 4
Usado
interna-
mente pelo
computador
Usado às
vezes na
programação
Usado por
nós,
humanos
Prof. Mauro Jansen
Por que entender sistemas de
numeração??
• A arquitetura do computador é composta
por memória, CPU e dispositivos de
entrada e saída
• Então antes de estudar a arquitetura do
computador, é importante conhecer como
ele armazena e processa os dados
internamente:
– Internamente, o computador guarda e manipula
tudo na forma de números binários
• Ajuda-nos a entender a matemática que
está oculta em todas as operações
realizadas pelo computadorRedes de Computadores
Introdução, histórico e conceitos
Prof. Mauro Jansen
Sistema Decimal
(nosso sistema de numeração)
• Soma dos produtos dos dígitos por potências de
base 10 (10n), onde n é a posição relativa do
algarismo (peso ou ordem), da direita (n=0) para
a esquerda (n=quantidade de dígitos do número
- 1)
7 0 4 8
103
102
101
100
Introd.Arq.Computadores e SO
Sistemas de Numeração 6
8 x 100
= 8 x 1 =
8
4 x 101
= 4 x 10 =
40
0 x 102
= 0 x 100 =
0
7 x 103
= 7 x 1.000 =
Prof. Mauro Jansen
Sistema Binário
(sistema do computador)
• Soma de produtos dos dígitos (bits) por potências
de base 2 (2n), onde n é a posição relativa do
algarismo (peso ou ordem), da direita (n=0) para
a esquerda (n=quantidade de dígitos do número
- 1)
1 0 1 0
23
22
21
20
Introd.Arq.Computadores e SO
Sistemas de Numeração 7
0 x 20
= 0 x 1 = 0
1 x 21
= 1 x 2 = 2
0 x 22
= 0 x 4 = 0
1 x 23
= 1 x 8 = 8
10
Prof. Mauro Jansen
Bits e Bytes
• Byte é um conjunto de 8 bits:
• O byte é a menor unidade de memória
• Um Nibble é um conjunto de 4 bits
(metade de um byte)
1 0 1 0 0 1 1 1
7 6 5 4 3 2 1 0
Introd.Arq.Computadores e SO
Sistemas de Numeração 8
Bit 0: Bit menos
signifcativo
(LSB)
Bit 7: Bit mais
signifcativo
(MSB)
Peso / ordem
dos bits
Prof. Mauro Jansen
Sistema Binário: valores
máximos
• Quantidade máxima de valores
representáveis com N bits: 2N
• Maior valor representável: 2N – 1
• Exemplos:
Introd.Arq.Computadores e SO
Sistemas de Numeração 9
Qtd.de
bits
Qtd.valores Maior
valor
Binário
4 24
= 16 15 1111
8 28
= 256 255 11111111
16 216
= 65536 65535 11111111
11111111
Prof. Mauro Jansen
Sistema Hexadecimal
• Usa dezesseis símbolos:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
• Notação: letra “h” após o número
– Exemplos: 3Fh, 200Ah, B7ECh, 70h
• Sistema mais usado em computadores
• Correspondência de algarismos
hexadecimais para decimais:
A = 10 D = 13
B = 11 E = 14
C = 12 F = 15
Introd.Arq.Computadores e SO
Sistemas de Numeração 10
Prof. Mauro Jansen
Sistema Hexadecimal
• Soma de produtos dos dígitos (bits) por
potências de base 16 (16n), onde n é a
posição relativa do algarismo, da direita
(n=0) para a esquerda
Introd.Arq.Computadores e SO
Sistemas de Numeração 11
0 3 C F
23
162
161
160
F x 160
= 15 x 1 = 15
C x 161
= 12 x 16 = 192
3 x 162
= 3 x 256 = 768
0 x 163
= = 0
975
Prof. Mauro Jansen
Um byte em hexadecimal
Redes de Computadores
Introdução, histórico e conceitos
• Byte é um conjunto de 8 bits:
• Um byte equivale a dois dígitos
hexadecimais
• Cada 4 bits (metade de um byte)
corresponde a um dígito hexadecimal:
1 0 1 0 0 1 1 1
7 6 5 4 3 2 1 0
Peso / ordem
dos bits
A 7
Prof. Mauro Jansen
Números com um byte
• Repare que com um byte (8 bits) podemos
representar os números decimais de 0 a
255 e seus correspondentes hexadecimais
e binários:Decimal 0 a 255
Hexa 00h
a
FFh
Binário 00000000
a
1111111
1
Introd.Arq.Computadores e SO
Sistemas de Numeração 13
 Para representar valores maiores que 255
precisaremos de dois ou mais bytes
 Dois dígitos hexadecimais correspondem a um
byte
 Logo: Um dígito hexadecimal corresponde a 4
Prof. Mauro Jansen
Sistema Hexadecimal:
valores máximos
• Quantidade máxima de valores
representáveis com N dígitos: 16N
• Maior valor representável: 16N – 1
• Exemplos:
Introd.Arq.Computadores e SO
Sistemas de Numeração 14
Dígitos Qtd.de
bits
Qtd.valores Maior
valor
Hexa
1 4 161
= 16 15 F
2 8 162
= 256 255 FF
4 16 164
= 65536 65535 FFFF
Prof. Mauro Jansen
Exercícios
• O que é um sistema de numeração?
• Qual a importância de aprender
sistemas de numeração?
• Qual o sistema de numeração usado
pelas pessoas? Quantos dígitos ele
tem?
• Qual o sistema de numeração usado
computador? Quantos dígitos ele
tem? Por que?
Introd.Arq.Computadores e SO
Sistemas de Numeração 15
Prof. Mauro Jansen
• O que é um byte?
• O que é um nibble?
• Quantos números binários podemos
representar com 4 dígitos?
– E qual o maior valor?
• Quantos números hexadecimais
podemos representar com 2 dígitos?
– E qual o maior valor?
Redes de Computadores
Introdução, histórico e conceitos
Prof. Mauro Jansen
Introd.Arq.Computadores e SO
Sistemas de Numeração 17
Conversões de base
Prof. Mauro Jansen
Conversões de base
• É possível converter um valor de um
sistema de numeração para outro,
usando algumas regras
• Podemos usar calculadoras ou o
próprio computador para fazer essas
conversões, mas é importante
conhecer as regras
Introd.Arq.Computadores e SO
Sistemas de Numeração 18
Prof. Mauro Jansen
Conversão da base n para
decimal
• Multiplicar cada dígito por nX, onde n é a base
destino e x é a posição que o dígito ocupa, da
direita (x=0) para a esquerda, e somar todos os
resultados.
• Exemplo: converter 10102 p/ base 10
Introd.Arq.Computadores e SO
Sistemas de Numeração 19
1 0 1 0
23
22
21
20
0 x 20
= 0 x 1 = 0
1 x 21
= 1 x 2 = 2
0 x 22
= 0 x 4 = 0
1 x 23
= 1 x 8 = 8
10
Portanto,
10102 = 1010
Prof. Mauro Jansen
Conversão da base n
para decimal
• Obs.: caso n=16 (conversão da base
16 p/ decimal), substituímos cada
dígito literal hexadecimal pelo seu
respectivo valor decimal (A=10,
B=11, C=12, D=13, E=14, F=15) na
multiplicação pela potência de base
16, quando necessário
Introd.Arq.Computadores e SO
Sistemas de Numeração 20
Prof. Mauro Jansen
Conversão de decimal para
base n
• Efetua-se divisões sucessivas do número
decimal por n enquanto o número for
maior que n. O correspondente na base
n será o número formado pelo último
quociente e resto das divisões, da direita
para a esquerda
• Exemplo: Converter 1310 para base 2
• Solução: 1310 = 11012
13 2
(1) 6 2
(0) 3 2
(1) (1)
Introd.Arq.Computadores e SO
Sistemas de Numeração 21
Prof. Mauro Jansen
Conversão de decimal
para base n
• Obs.: caso n=16 (conversão da
decimal p/ base 16), substituímos o
quociente e cada resto pelo dígito
literal hexadecimal correspondente
(10=A, 11=B, etc.), quando
necessário
Introd.Arq.Computadores e SO
Sistemas de Numeração 22
Prof. Mauro Jansen
Conversão de hexa para binário
• É feita de forma transparente, visto que a base
16 é potência da base 2
• Cada dígito hexadecimal corresponde a quatro
dígitos binários e vice-versa
• Substitui-se cada algarismo hexadecimal pelo
seu correspondente binário
• Exemplo:
0 3 C F
Introd.Arq.Computadores e SO
Sistemas de Numeração 23
0000 0011 1100 1111
Prof. Mauro Jansen
Tabela de conversão básica
DECIMAL HEXA BINÁRIO
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
Introd.Arq.Computadores e SO
Sistemas de Numeração 24
DECIMAL HEXA BINÁRIO
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111
Prof. Mauro Jansen
Introd.Arq.Computadores e SO
Sistemas de Numeração 25
Codifcações usadas
pelo computador
Prof. Mauro Jansen
Codifcações usadas pelo
computador
• São codifcações numéricas usadas
pelo computador para representar
letras, símbolos e números:
– ASCII: Tabelas de códigos padronizada
para representar letras e símbolos
– BCD: Padrão usado para representar
números com seus correspondentes de 4
bits
Redes de Computadores
Introdução, histórico e conceitos
Prof. Mauro Jansen
Codifcação ASCII
• Usada para representar dados não
numéricos: letras, sinais ou
algarismos usados em nomes de
pessoa, rua, datas, códigos, etc.
• Tabela criada para representar os
caracteres do mundo real com
códigos no computador e dispositivos
(teclados, displays, etc)
Introd.Arq.Computadores e SO
Sistemas de Numeração 27
Prof. Mauro Jansen
Codifcação ASCII
• ASCII é a sigla para “American
Standard Code for Information
Interchange” (código padrão
americano para intercâmbio de
informações)
• Cada caractere (letras, números,
símbolos, etc.) é representado por um
código (1 byte)
• A tabela completa pode ser
encontrada facilmente na internetIntrod.Arq.Computadores e SO
Sistemas de Numeração 28
Prof. Mauro Jansen
Codifcação ASCII
Caracter
e
Decim
al
Hexa Binário
Espaço 32 20 0010
0000
( 33 21 0010
0001
+ 34 22 0010
0011
$ 35 23 0010
0100
... ... ...
0 48 30 0101
0000
1 49 31 0101
0001
2 50 32 0101
0010
3 51 33 0101
Caracter
e
Decim
al
Hexa Binário
A 65 41 0110
0001
B 66 42 0110
0010
C 67 43 0110
0011
D 68 44 0110
0100
E 69 45 0110
0101
F 70 46 0110
0110
G 71 47 0110
0111
H 72 48 0110
1000
Introd.Arq.Computadores e SO
Sistemas de Numeração 29
Prof. Mauro Jansen
Codifcação BCD
• Usada para representar números
• Binary-Coded Decimal (decimal codifcado em binário)
• Usada em alguns displays LCD e outros dispositivos
de saída
• Cada dígito decimal é representado pelo seu
correspondente binário de quatro bits (nibble) :
Decimal BCD Decimal BCD
0 0000 5 0101
1 0001 6 0110
2 0010 7 0111
3 0011 8 1000
4 0100 9 1001
Introd.Arq.Computadores e SO
Sistemas de Numeração 30
Prof. Mauro Jansen
Codifcação BCD
• Exemplo: representar 148 decimal em
BCD
– 1=00012
– 4=01002
– 8=10002
• Como cada dígito em BCD tem 4
bytes e um byte tem 8 bits, para
evitar desperdício, coloca-se dois
BCDs em um byte (BCD comprimido)
Introd.Arq.Computadores e SO
Sistemas de Numeração 31
148 (decimal) = 0001 0100 1000
(BCD)
Prof. Mauro Jansen
Exercícios
• Efetuar as seguintes conversões de
base:
Introd.Arq.Computadores e SO
Sistemas de Numeração 32
Número Base p/ base Res.
a) 00110110 2 10
b) 10111111 2 16
c) 37 10 2
d) 444 10 16
e) F1 16 2
f) 300 16 10
g) 82 10 BCD
h) 121 10 BCD
i) 10010011 BCD 10
Prof. Mauro Jansen
Introd.Arq.Computadores e SO
Sistemas de Numeração 33
Aritmética binária
Prof. Mauro Jansen
Soma binária
• Regras:
• Exemplo:
• OBS: o “vai 1” ou transporte é chamado
de “carry”
Operação Resultado
0+0 0
0+1 1
1+0 1
1+1 10 (0 e “vai
1”)
Introd.Arq.Computadores e SO
Sistemas de Numeração 34
Prof. Mauro Jansen
Soma binária
• Overflw (estouro): é quando o
resultado da soma não cabe na
quantidade de bits disponível
• Exemplo (dispondo de 4 bits):
Introd.Arq.Computadores e SO
Sistemas de Numeração 35
Overfoo
10102 (1010)
+ 11012 (1310)
101112 ( 710)
Prof. Mauro Jansen
Valores binários sinalizados
• São números inteiros (positivos e
negativos – conjunto ) no sistema
binário
• Existem 2 soluções para
representação:
– Sinal-magnitude (pouco utilizada)
– Complemento de 2 (padrão)
Introd.Arq.Computadores e SO
Sistemas de Numeração 36
Prof. Mauro Jansen
Valores binários sinalizados
1ª solução: sinal-magnitude
• O bit mais signifcativo representa o sinal e
os bits restantes, o valor:
– +8 = 00001000
– - 8 = 10001000
• Desvantagens:
– Duas representações para o número zero:
• +0 = 00000000
• - 0 = 10000000
– P/ efetuar adição e subtração deve-se
considerar tanto a magnitude quanto o sinal
(difculdade de implementação no processador)
Introd.Arq.Computadores e SO
Sistemas de Numeração 37
Prof. Mauro Jansen
Valores binários sinalizados
2ª solução: complemento de 2
• Também usa o bit mais signifcativo
como sinal, mas os outros bits são
interpretados de forma diferente
• É o valor simétrico de um número
binário
• Passos para achar o complemento de
2:
– Calcular o complemento de 1, invertendo
todos os bits do número binário original
– Somar 1 ao complemento de 1Introd.Arq.Computadores e SO
Sistemas de Numeração 38
Prof. Mauro Jansen
Valores binários sinalizados
• Exemplo: calcular o complemento de
2 de 00001000 (8 em decimal):
Normal: 00001000 (+810)
Complemento de 1: 11110111
Soma-se 1 ao c-1: 1
Complemento de 2: 11111000 (-810)
• Regra prática p/ achar complemento
de 2:
– Copie todos os bits da direita p/ esquerda
até achar o primeiro bit 1 (inclusive ele)
– Inverta todos os demais bits
Introd.Arq.Computadores e SO
Sistemas de Numeração 39
Prof. Mauro Jansen
Valores binários sinalizados
• Quantidade máxima de valores
sinalizados representáveis com N
bits: 2N - 1
• Faixa de valores: - 2N/2– 1 a + 2N/2
– 1
• Exemplos:
Introd.Arq.Computadores e SO
Sistemas de Numeração 40
Qtd.de
bits
Qtd.valore
s
Faixa de valores
4 24
-1 = 15 -7 a +7
8 28
-1 = 255 -127 a +127
16 216
-1 =
65535
-32.768 a +32.768
Prof. Mauro Jansen
Complemento: noção
matemática
• Complemento de “B” de X
– É o valor simétrico de um número X na base
“B”, com N dígitos que, somado a qualquer
outro número YB com N dígitos, resulta num
número que, desprezando-se os dígitos
mais signifcativos que excedem a
quantidade N, é o resultado da subtração Y
– X
– Onde: B é a base do sistema de numeração
N é a quantidade de dígitos do número XIntrod.Arq.Computadores e SO
Sistemas de Numeração 41
complemento de B do número X =
BN
– x
Prof. Mauro Jansen
Complementos: noção
matemática
• Exemplo na base 2 (complemento de 2):
complemento de 2 de X = 2N – X (N=num.de
algarismos)
Exemplo:
Complemento de 2 de 00112 (4 dígitos) = 24 –
0011
= 10000 – 0011 = 1101
Prova: 1000 – 0011 = 1000 + 1101 = 10101
Introd.Arq.Computadores e SO
Sistemas de Numeração 42
Prof. Mauro Jansen
Complementos: noção
matemática
• Exemplo na base 10 (complemento de 10):
Complemento de 10 de X = 10N – X (n=num.de
algarismos)
Exemplo:
Complemento de 10 de 3 (2 dígitos) = 102 – 3 =
97
Provas:
94 – 3 = 94 + 97 = 191 (desprezando o 1, fca
91)
75 – 3 = 75 + 97 = 172 (desprezando o 1, fca
72)
10 – 3 = 10 + 97 = 107 (desprezando o 1, fca
07)
Redes de Computadores
Introdução, histórico e conceitos
Prof. Mauro Jansen
Operações binárias: subtração
• Podemos efetuar a subtração binária da mesma
forma que no sistema decimal, sendo que pode
ocorrer um “vai 1” é subtraído do resultado da
próxima conta
• Regras:
• Exemplo:
1 1 1
1000
- 0011
0101
Operação Resultado
0-0 0
1-0 1
1-1 0
0-1 11 (1 e “vai
1”)
Introd.Arq.Computadores e SO
Sistemas de Numeração 44
Prof. Mauro Jansen
Operações binárias: subtração
• Como vimos no exemplo anterior, a
subtração pelo processo normal é
trabalhosa
• Por convenção e por questões de
simplifcação, o microprocessador
efetua apenas a operação de adição
• Mas como efetuar subtração só
dispondo da adição?
– R: usando o “complemento de 2”
Introd.Arq.Computadores e SO
Sistemas de Numeração 45
Prof. Mauro Jansen
Subtração usando
complemento de 2
• Basta somar o complemento de 2 do
segundo fator ao primeiro
• Vejamos como fca a subtração
anterior usando soma com
complemento de 2:
1000 – 0011 = 1000 + complemento de 2 de
0011
1000
+1101Introd.Arq.Computadores e SO
Sistemas de Numeração 46
Despreza-se o dígito que
excede a quantidade de bits
que é 4
Prof. Mauro Jansen
Outras operações
• Multiplicação: várias adições
• Divisão: várias subtrações (adições
com complemento de 2)
Introd.Arq.Computadores e SO
Sistemas de Numeração 47
Prof. Mauro Jansen
Exercícios
• O que é carry?
• O que é overfoo?
• Efetue as seguintes operações,
indicando se houve carry e overfow
em cada uma:
– 101011 + 110010
– 110101 + 000111
– 1010 – 0011 (normal e c/complemento
de 2)
• Efetue a subtração 94 -12 usandoIntrod.Arq.Computadores e SO
Sistemas de Numeração 48

Sistemas de Numeracao

  • 1.
    Introdução à Arquiteturade Computadores e Sistemas Operacionais Professor: Mauro Jansen Sistemas de Numeração e operações binárias Versão: 02/2018
  • 2.
    Prof. Mauro Jansen Sistemasde Numeração Introd.Arq.Computadores e SO Sistemas de Numeração 2
  • 3.
    Prof. Mauro Jansen Sistemasde numeração • Conjunto de regras que nos permite escrever e ler qualquer número utilizando símbolos básicos (algarismos ou dígitos). • Chamamos de “base N” o sistema de numeração que usa “N” símbolos para representar os números – Ex.: base 10, base 2, base 8, base 16 Introd.Arq.Computadores e SO Sistemas de Numeração 3
  • 4.
    Prof. Mauro Jansen Sistemasde numeração • Exemplos: – Sistema decimal (base 10) • Dez símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 – Sistema binário (base 2) • Dois símbolos: 0 e 1 (que são bits) – Sistema octal (base 8) • Oito símbolos: 0, 1, 2, 3, 4, 5, 6, 7 – Sistema hexadecimal (base 16) • Dezesseis símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Introd.Arq.Computadores e SO Sistemas de Numeração 4 Usado interna- mente pelo computador Usado às vezes na programação Usado por nós, humanos
  • 5.
    Prof. Mauro Jansen Porque entender sistemas de numeração?? • A arquitetura do computador é composta por memória, CPU e dispositivos de entrada e saída • Então antes de estudar a arquitetura do computador, é importante conhecer como ele armazena e processa os dados internamente: – Internamente, o computador guarda e manipula tudo na forma de números binários • Ajuda-nos a entender a matemática que está oculta em todas as operações realizadas pelo computadorRedes de Computadores Introdução, histórico e conceitos
  • 6.
    Prof. Mauro Jansen SistemaDecimal (nosso sistema de numeração) • Soma dos produtos dos dígitos por potências de base 10 (10n), onde n é a posição relativa do algarismo (peso ou ordem), da direita (n=0) para a esquerda (n=quantidade de dígitos do número - 1) 7 0 4 8 103 102 101 100 Introd.Arq.Computadores e SO Sistemas de Numeração 6 8 x 100 = 8 x 1 = 8 4 x 101 = 4 x 10 = 40 0 x 102 = 0 x 100 = 0 7 x 103 = 7 x 1.000 =
  • 7.
    Prof. Mauro Jansen SistemaBinário (sistema do computador) • Soma de produtos dos dígitos (bits) por potências de base 2 (2n), onde n é a posição relativa do algarismo (peso ou ordem), da direita (n=0) para a esquerda (n=quantidade de dígitos do número - 1) 1 0 1 0 23 22 21 20 Introd.Arq.Computadores e SO Sistemas de Numeração 7 0 x 20 = 0 x 1 = 0 1 x 21 = 1 x 2 = 2 0 x 22 = 0 x 4 = 0 1 x 23 = 1 x 8 = 8 10
  • 8.
    Prof. Mauro Jansen Bitse Bytes • Byte é um conjunto de 8 bits: • O byte é a menor unidade de memória • Um Nibble é um conjunto de 4 bits (metade de um byte) 1 0 1 0 0 1 1 1 7 6 5 4 3 2 1 0 Introd.Arq.Computadores e SO Sistemas de Numeração 8 Bit 0: Bit menos signifcativo (LSB) Bit 7: Bit mais signifcativo (MSB) Peso / ordem dos bits
  • 9.
    Prof. Mauro Jansen SistemaBinário: valores máximos • Quantidade máxima de valores representáveis com N bits: 2N • Maior valor representável: 2N – 1 • Exemplos: Introd.Arq.Computadores e SO Sistemas de Numeração 9 Qtd.de bits Qtd.valores Maior valor Binário 4 24 = 16 15 1111 8 28 = 256 255 11111111 16 216 = 65536 65535 11111111 11111111
  • 10.
    Prof. Mauro Jansen SistemaHexadecimal • Usa dezesseis símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F • Notação: letra “h” após o número – Exemplos: 3Fh, 200Ah, B7ECh, 70h • Sistema mais usado em computadores • Correspondência de algarismos hexadecimais para decimais: A = 10 D = 13 B = 11 E = 14 C = 12 F = 15 Introd.Arq.Computadores e SO Sistemas de Numeração 10
  • 11.
    Prof. Mauro Jansen SistemaHexadecimal • Soma de produtos dos dígitos (bits) por potências de base 16 (16n), onde n é a posição relativa do algarismo, da direita (n=0) para a esquerda Introd.Arq.Computadores e SO Sistemas de Numeração 11 0 3 C F 23 162 161 160 F x 160 = 15 x 1 = 15 C x 161 = 12 x 16 = 192 3 x 162 = 3 x 256 = 768 0 x 163 = = 0 975
  • 12.
    Prof. Mauro Jansen Umbyte em hexadecimal Redes de Computadores Introdução, histórico e conceitos • Byte é um conjunto de 8 bits: • Um byte equivale a dois dígitos hexadecimais • Cada 4 bits (metade de um byte) corresponde a um dígito hexadecimal: 1 0 1 0 0 1 1 1 7 6 5 4 3 2 1 0 Peso / ordem dos bits A 7
  • 13.
    Prof. Mauro Jansen Númeroscom um byte • Repare que com um byte (8 bits) podemos representar os números decimais de 0 a 255 e seus correspondentes hexadecimais e binários:Decimal 0 a 255 Hexa 00h a FFh Binário 00000000 a 1111111 1 Introd.Arq.Computadores e SO Sistemas de Numeração 13  Para representar valores maiores que 255 precisaremos de dois ou mais bytes  Dois dígitos hexadecimais correspondem a um byte  Logo: Um dígito hexadecimal corresponde a 4
  • 14.
    Prof. Mauro Jansen SistemaHexadecimal: valores máximos • Quantidade máxima de valores representáveis com N dígitos: 16N • Maior valor representável: 16N – 1 • Exemplos: Introd.Arq.Computadores e SO Sistemas de Numeração 14 Dígitos Qtd.de bits Qtd.valores Maior valor Hexa 1 4 161 = 16 15 F 2 8 162 = 256 255 FF 4 16 164 = 65536 65535 FFFF
  • 15.
    Prof. Mauro Jansen Exercícios •O que é um sistema de numeração? • Qual a importância de aprender sistemas de numeração? • Qual o sistema de numeração usado pelas pessoas? Quantos dígitos ele tem? • Qual o sistema de numeração usado computador? Quantos dígitos ele tem? Por que? Introd.Arq.Computadores e SO Sistemas de Numeração 15
  • 16.
    Prof. Mauro Jansen •O que é um byte? • O que é um nibble? • Quantos números binários podemos representar com 4 dígitos? – E qual o maior valor? • Quantos números hexadecimais podemos representar com 2 dígitos? – E qual o maior valor? Redes de Computadores Introdução, histórico e conceitos
  • 17.
    Prof. Mauro Jansen Introd.Arq.Computadorese SO Sistemas de Numeração 17 Conversões de base
  • 18.
    Prof. Mauro Jansen Conversõesde base • É possível converter um valor de um sistema de numeração para outro, usando algumas regras • Podemos usar calculadoras ou o próprio computador para fazer essas conversões, mas é importante conhecer as regras Introd.Arq.Computadores e SO Sistemas de Numeração 18
  • 19.
    Prof. Mauro Jansen Conversãoda base n para decimal • Multiplicar cada dígito por nX, onde n é a base destino e x é a posição que o dígito ocupa, da direita (x=0) para a esquerda, e somar todos os resultados. • Exemplo: converter 10102 p/ base 10 Introd.Arq.Computadores e SO Sistemas de Numeração 19 1 0 1 0 23 22 21 20 0 x 20 = 0 x 1 = 0 1 x 21 = 1 x 2 = 2 0 x 22 = 0 x 4 = 0 1 x 23 = 1 x 8 = 8 10 Portanto, 10102 = 1010
  • 20.
    Prof. Mauro Jansen Conversãoda base n para decimal • Obs.: caso n=16 (conversão da base 16 p/ decimal), substituímos cada dígito literal hexadecimal pelo seu respectivo valor decimal (A=10, B=11, C=12, D=13, E=14, F=15) na multiplicação pela potência de base 16, quando necessário Introd.Arq.Computadores e SO Sistemas de Numeração 20
  • 21.
    Prof. Mauro Jansen Conversãode decimal para base n • Efetua-se divisões sucessivas do número decimal por n enquanto o número for maior que n. O correspondente na base n será o número formado pelo último quociente e resto das divisões, da direita para a esquerda • Exemplo: Converter 1310 para base 2 • Solução: 1310 = 11012 13 2 (1) 6 2 (0) 3 2 (1) (1) Introd.Arq.Computadores e SO Sistemas de Numeração 21
  • 22.
    Prof. Mauro Jansen Conversãode decimal para base n • Obs.: caso n=16 (conversão da decimal p/ base 16), substituímos o quociente e cada resto pelo dígito literal hexadecimal correspondente (10=A, 11=B, etc.), quando necessário Introd.Arq.Computadores e SO Sistemas de Numeração 22
  • 23.
    Prof. Mauro Jansen Conversãode hexa para binário • É feita de forma transparente, visto que a base 16 é potência da base 2 • Cada dígito hexadecimal corresponde a quatro dígitos binários e vice-versa • Substitui-se cada algarismo hexadecimal pelo seu correspondente binário • Exemplo: 0 3 C F Introd.Arq.Computadores e SO Sistemas de Numeração 23 0000 0011 1100 1111
  • 24.
    Prof. Mauro Jansen Tabelade conversão básica DECIMAL HEXA BINÁRIO 0 0 0000 1 1 0001 2 2 0010 3 3 0011 4 4 0100 5 5 0101 6 6 0110 7 7 0111 Introd.Arq.Computadores e SO Sistemas de Numeração 24 DECIMAL HEXA BINÁRIO 8 8 1000 9 9 1001 10 A 1010 11 B 1011 12 C 1100 13 D 1101 14 E 1110 15 F 1111
  • 25.
    Prof. Mauro Jansen Introd.Arq.Computadorese SO Sistemas de Numeração 25 Codifcações usadas pelo computador
  • 26.
    Prof. Mauro Jansen Codifcaçõesusadas pelo computador • São codifcações numéricas usadas pelo computador para representar letras, símbolos e números: – ASCII: Tabelas de códigos padronizada para representar letras e símbolos – BCD: Padrão usado para representar números com seus correspondentes de 4 bits Redes de Computadores Introdução, histórico e conceitos
  • 27.
    Prof. Mauro Jansen CodifcaçãoASCII • Usada para representar dados não numéricos: letras, sinais ou algarismos usados em nomes de pessoa, rua, datas, códigos, etc. • Tabela criada para representar os caracteres do mundo real com códigos no computador e dispositivos (teclados, displays, etc) Introd.Arq.Computadores e SO Sistemas de Numeração 27
  • 28.
    Prof. Mauro Jansen CodifcaçãoASCII • ASCII é a sigla para “American Standard Code for Information Interchange” (código padrão americano para intercâmbio de informações) • Cada caractere (letras, números, símbolos, etc.) é representado por um código (1 byte) • A tabela completa pode ser encontrada facilmente na internetIntrod.Arq.Computadores e SO Sistemas de Numeração 28
  • 29.
    Prof. Mauro Jansen CodifcaçãoASCII Caracter e Decim al Hexa Binário Espaço 32 20 0010 0000 ( 33 21 0010 0001 + 34 22 0010 0011 $ 35 23 0010 0100 ... ... ... 0 48 30 0101 0000 1 49 31 0101 0001 2 50 32 0101 0010 3 51 33 0101 Caracter e Decim al Hexa Binário A 65 41 0110 0001 B 66 42 0110 0010 C 67 43 0110 0011 D 68 44 0110 0100 E 69 45 0110 0101 F 70 46 0110 0110 G 71 47 0110 0111 H 72 48 0110 1000 Introd.Arq.Computadores e SO Sistemas de Numeração 29
  • 30.
    Prof. Mauro Jansen CodifcaçãoBCD • Usada para representar números • Binary-Coded Decimal (decimal codifcado em binário) • Usada em alguns displays LCD e outros dispositivos de saída • Cada dígito decimal é representado pelo seu correspondente binário de quatro bits (nibble) : Decimal BCD Decimal BCD 0 0000 5 0101 1 0001 6 0110 2 0010 7 0111 3 0011 8 1000 4 0100 9 1001 Introd.Arq.Computadores e SO Sistemas de Numeração 30
  • 31.
    Prof. Mauro Jansen CodifcaçãoBCD • Exemplo: representar 148 decimal em BCD – 1=00012 – 4=01002 – 8=10002 • Como cada dígito em BCD tem 4 bytes e um byte tem 8 bits, para evitar desperdício, coloca-se dois BCDs em um byte (BCD comprimido) Introd.Arq.Computadores e SO Sistemas de Numeração 31 148 (decimal) = 0001 0100 1000 (BCD)
  • 32.
    Prof. Mauro Jansen Exercícios •Efetuar as seguintes conversões de base: Introd.Arq.Computadores e SO Sistemas de Numeração 32 Número Base p/ base Res. a) 00110110 2 10 b) 10111111 2 16 c) 37 10 2 d) 444 10 16 e) F1 16 2 f) 300 16 10 g) 82 10 BCD h) 121 10 BCD i) 10010011 BCD 10
  • 33.
    Prof. Mauro Jansen Introd.Arq.Computadorese SO Sistemas de Numeração 33 Aritmética binária
  • 34.
    Prof. Mauro Jansen Somabinária • Regras: • Exemplo: • OBS: o “vai 1” ou transporte é chamado de “carry” Operação Resultado 0+0 0 0+1 1 1+0 1 1+1 10 (0 e “vai 1”) Introd.Arq.Computadores e SO Sistemas de Numeração 34
  • 35.
    Prof. Mauro Jansen Somabinária • Overflw (estouro): é quando o resultado da soma não cabe na quantidade de bits disponível • Exemplo (dispondo de 4 bits): Introd.Arq.Computadores e SO Sistemas de Numeração 35 Overfoo 10102 (1010) + 11012 (1310) 101112 ( 710)
  • 36.
    Prof. Mauro Jansen Valoresbinários sinalizados • São números inteiros (positivos e negativos – conjunto ) no sistema binário • Existem 2 soluções para representação: – Sinal-magnitude (pouco utilizada) – Complemento de 2 (padrão) Introd.Arq.Computadores e SO Sistemas de Numeração 36
  • 37.
    Prof. Mauro Jansen Valoresbinários sinalizados 1ª solução: sinal-magnitude • O bit mais signifcativo representa o sinal e os bits restantes, o valor: – +8 = 00001000 – - 8 = 10001000 • Desvantagens: – Duas representações para o número zero: • +0 = 00000000 • - 0 = 10000000 – P/ efetuar adição e subtração deve-se considerar tanto a magnitude quanto o sinal (difculdade de implementação no processador) Introd.Arq.Computadores e SO Sistemas de Numeração 37
  • 38.
    Prof. Mauro Jansen Valoresbinários sinalizados 2ª solução: complemento de 2 • Também usa o bit mais signifcativo como sinal, mas os outros bits são interpretados de forma diferente • É o valor simétrico de um número binário • Passos para achar o complemento de 2: – Calcular o complemento de 1, invertendo todos os bits do número binário original – Somar 1 ao complemento de 1Introd.Arq.Computadores e SO Sistemas de Numeração 38
  • 39.
    Prof. Mauro Jansen Valoresbinários sinalizados • Exemplo: calcular o complemento de 2 de 00001000 (8 em decimal): Normal: 00001000 (+810) Complemento de 1: 11110111 Soma-se 1 ao c-1: 1 Complemento de 2: 11111000 (-810) • Regra prática p/ achar complemento de 2: – Copie todos os bits da direita p/ esquerda até achar o primeiro bit 1 (inclusive ele) – Inverta todos os demais bits Introd.Arq.Computadores e SO Sistemas de Numeração 39
  • 40.
    Prof. Mauro Jansen Valoresbinários sinalizados • Quantidade máxima de valores sinalizados representáveis com N bits: 2N - 1 • Faixa de valores: - 2N/2– 1 a + 2N/2 – 1 • Exemplos: Introd.Arq.Computadores e SO Sistemas de Numeração 40 Qtd.de bits Qtd.valore s Faixa de valores 4 24 -1 = 15 -7 a +7 8 28 -1 = 255 -127 a +127 16 216 -1 = 65535 -32.768 a +32.768
  • 41.
    Prof. Mauro Jansen Complemento:noção matemática • Complemento de “B” de X – É o valor simétrico de um número X na base “B”, com N dígitos que, somado a qualquer outro número YB com N dígitos, resulta num número que, desprezando-se os dígitos mais signifcativos que excedem a quantidade N, é o resultado da subtração Y – X – Onde: B é a base do sistema de numeração N é a quantidade de dígitos do número XIntrod.Arq.Computadores e SO Sistemas de Numeração 41 complemento de B do número X = BN – x
  • 42.
    Prof. Mauro Jansen Complementos:noção matemática • Exemplo na base 2 (complemento de 2): complemento de 2 de X = 2N – X (N=num.de algarismos) Exemplo: Complemento de 2 de 00112 (4 dígitos) = 24 – 0011 = 10000 – 0011 = 1101 Prova: 1000 – 0011 = 1000 + 1101 = 10101 Introd.Arq.Computadores e SO Sistemas de Numeração 42
  • 43.
    Prof. Mauro Jansen Complementos:noção matemática • Exemplo na base 10 (complemento de 10): Complemento de 10 de X = 10N – X (n=num.de algarismos) Exemplo: Complemento de 10 de 3 (2 dígitos) = 102 – 3 = 97 Provas: 94 – 3 = 94 + 97 = 191 (desprezando o 1, fca 91) 75 – 3 = 75 + 97 = 172 (desprezando o 1, fca 72) 10 – 3 = 10 + 97 = 107 (desprezando o 1, fca 07) Redes de Computadores Introdução, histórico e conceitos
  • 44.
    Prof. Mauro Jansen Operaçõesbinárias: subtração • Podemos efetuar a subtração binária da mesma forma que no sistema decimal, sendo que pode ocorrer um “vai 1” é subtraído do resultado da próxima conta • Regras: • Exemplo: 1 1 1 1000 - 0011 0101 Operação Resultado 0-0 0 1-0 1 1-1 0 0-1 11 (1 e “vai 1”) Introd.Arq.Computadores e SO Sistemas de Numeração 44
  • 45.
    Prof. Mauro Jansen Operaçõesbinárias: subtração • Como vimos no exemplo anterior, a subtração pelo processo normal é trabalhosa • Por convenção e por questões de simplifcação, o microprocessador efetua apenas a operação de adição • Mas como efetuar subtração só dispondo da adição? – R: usando o “complemento de 2” Introd.Arq.Computadores e SO Sistemas de Numeração 45
  • 46.
    Prof. Mauro Jansen Subtraçãousando complemento de 2 • Basta somar o complemento de 2 do segundo fator ao primeiro • Vejamos como fca a subtração anterior usando soma com complemento de 2: 1000 – 0011 = 1000 + complemento de 2 de 0011 1000 +1101Introd.Arq.Computadores e SO Sistemas de Numeração 46 Despreza-se o dígito que excede a quantidade de bits que é 4
  • 47.
    Prof. Mauro Jansen Outrasoperações • Multiplicação: várias adições • Divisão: várias subtrações (adições com complemento de 2) Introd.Arq.Computadores e SO Sistemas de Numeração 47
  • 48.
    Prof. Mauro Jansen Exercícios •O que é carry? • O que é overfoo? • Efetue as seguintes operações, indicando se houve carry e overfow em cada uma: – 101011 + 110010 – 110101 + 000111 – 1010 – 0011 (normal e c/complemento de 2) • Efetue a subtração 94 -12 usandoIntrod.Arq.Computadores e SO Sistemas de Numeração 48