1) O documento apresenta os sistemas de numeração binário, decimal, octal e hexadecimal.
2) São explicados conceitos como bits, bytes, nibbles e as operações de conversão entre diferentes bases numéricas.
3) É detalhada a codificação ASCII utilizada pelo computador para representar caracteres alfabéticos e símbolos.
3. 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
4. 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
5. 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
6. 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 =
7. 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
8. 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
9. 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
10. 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
11. 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
12. 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
13. 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
14. 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
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
18. 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
19. 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
20. 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
21. 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
22. 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
23. 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
24. 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
26. 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
27. 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
28. 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
29. 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
30. 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
31. 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)
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
34. 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
35. 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)
36. 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
37. 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
38. 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
39. 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
40. 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
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çõ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
45. 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
46. 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
47. 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
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