Você está na página 1de 48

Introdução à Arquitetura de

Computadores e Sistemas
Operacionais
Professor: Mauro Jansen

Sistemas de Numeração e
operações binárias

Versão: 02/2018
Sistemas de Numeração

Introd.Arq.Computadores e SO
Sistemas de Numeração
Prof. Mauro Jansen 2
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
Prof. Mauro Jansen 3
Sistemas de numeração
Usado por
• Exemplos: nós,
humanos Usado
interna-
– Sistema decimal (base 10) mente pelo
• Dez símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, computador
9
– Sistema binário (base 2)
• Dois símbolos: 0 e 1 (que são bits)
– Sistema octal (base 8) Usado às
vezes na
• Oito símbolos: 0, 1, 2, 3, 4, 5, 6, 7 programação

– 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
Prof. Mauro Jansen 4
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
Prof. Mauro Jansen pelo computador
Redes de Computadores
Introdução, histórico e conceitos
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

8 x 100 = 8 x 1 =
8
4 x 101 = 4 x 10 =
40
0 x 102 = 0 x 100 =
0
Introd.Arq.Computadores e SO
Sistemas de Numeração 6
Prof. Mauro Jansen 7 x 10 = 7 x 1.000 =
3
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

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
Introd.Arq.Computadores e SO
Prof. Mauro Jansen Sistemas de Numeração 7
Bits e Bytes

• Byte é um conjunto de 8 bits:


1 0 1 0 0 1 1 1
Peso / ordem
7 6 5 4 3 2 1 0
dos bits

Bit 7: Bit mais Bit 0: Bit menos


signifcativo signifcativo
(MSB) (LSB)
• O byte é a menor unidade de memória
• Um Nibble é um conjunto de 4 bits
(metade de um byte)

Introd.Arq.Computadores e SO
Prof. Mauro Jansen Sistemas de Numeração 8
Sistema Binário: valores
máximos
• Quantidade máxima de valores
representáveis com N bits: 2N
• Maior valor representável: 2N – 1
• Exemplos:
Qtd.de Qtd.valores Maior Binário
bits valor
4 24 = 16 15 1111
8 28 = 256 255 11111111
16 216 = 65536 65535 11111111
11111111

Introd.Arq.Computadores e SO
Sistemas de Numeração
Prof. Mauro Jansen 9
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
Prof. Mauro Jansen 10
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
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
Introd.Arq.Computadores e SO
Sistemas de Numeração
975 11
Prof. Mauro Jansen
Um byte em hexadecimal

• 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
Peso / ordem
7 6 5 4 3 2 1 0
dos bits

A 7

Redes de Computadores
Prof. Mauro Jansen Introdução, histórico e conceitos
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 FFh
a
Binário 00000000 1111111
 Para representaravalores maiores 1 que 255
precisaremos de dois ou mais bytes
 Dois dígitos hexadecimais correspondem a um
byte
Introd.Arq.Computadores e SO
 Logo: Um dígito hexadecimal
Sistemas de Numeração corresponde a 13
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:
Dígitos Qtd.de Qtd.valores Maior Hexa
bits valor
1 4 161 = 16 15 F
2 8 162 = 256 255 FF
4 16 164 = 65536 65535 FFFF

Introd.Arq.Computadores e SO
Sistemas de Numeração
Prof. Mauro Jansen 14
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
Prof. Mauro Jansen 15
• 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
Prof. Mauro Jansen Introdução, histórico e conceitos
Conversões de base

Introd.Arq.Computadores e SO
Sistemas de Numeração
Prof. Mauro Jansen 17
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
Prof. Mauro Jansen 18
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:
1 0 converter
1 0 10102 p/ base 10
23 22 21 20

0 x 20 = 0 x 1 = 0
1 x 21 = 1 x 2 = 2 Portanto,
10102 = 1010
0 x 22 = 0 x 4 = 0
1 x 23 = 1 x 8 = 8
Introd.Arq.Computadores e SO
Sistemas de Numeração
10 19
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
Prof. Mauro Jansen 20
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: 13 2 1310 = 11012
(1) 6 2
(0) 3 2
(1) (1)

Introd.Arq.Computadores e SO
Prof. Mauro Jansen Sistemas de Numeração 21
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
Prof. Mauro Jansen 22
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

0000 0011 1100 1111

Introd.Arq.Computadores e SO
Prof. Mauro Jansen Sistemas de Numeração 23
Tabela de conversão básica

DECIMAL HEXA BINÁRIO DECIMAL HEXA BINÁRIO


0 0 0000 8 8 1000
1 1 0001 9 9 1001
2 2 0010 10 A 1010
3 3 0011 11 B 1011
4 4 0100 12 C 1100
5 5 0101 13 D 1101
6 6 0110 14 E 1110
7 7 0111 15 F 1111

Introd.Arq.Computadores e SO
Prof. Mauro Jansen Sistemas de Numeração 24
Codifcações usadas
pelo computador

Introd.Arq.Computadores e SO
Sistemas de Numeração
Prof. Mauro Jansen 25
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
Prof. Mauro Jansen Introdução, histórico e conceitos
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
Prof. Mauro Jansen 27
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 internet
Introd.Arq.Computadores e SO
Sistemas de Numeração 28
Prof. Mauro Jansen
Codifcação ASCII

Caracter Decim Hexa Binário Caracter Decim Hexa Binário


e al e al
Espaço 32 20 0010 A 65 41 0110
0000 0001
( 33 21 0010 B 66 42 0110
0001 0010
+ 34 22 0010 C 67 43 0110
0011 0011
$ 35 23 0010 D 68 44 0110
0100 0100
... ... ... E 69 45 0110
0 48 30 0101 0101
0000 F 70 46 0110
1 49 31 0101 0110
0001 G 71 47 0110
0111
2 50 32 0101
Introd.Arq.Computadores e SO 0010 H 72 48 0110
Sistemas de
3
Numeração
51
Prof. 33
Mauro Jansen 0101 1000 29
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
Prof. Mauro Jansen Sistemas de Numeração 30
Codifcação BCD

• Exemplo: representar 148 decimal em


BCD
– 1=00012 148 (decimal) = 0001 0100 1000
(BCD)
– 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
Prof. Mauro Jansen 31
Exercícios

• Efetuar as seguintes conversões de


base:
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
Introd.Arq.Computadores e SO
Sistemas de Numeração
Prof. Mauro Jansen 32
Aritmética binária

Introd.Arq.Computadores e SO
Sistemas de Numeração
Prof. Mauro Jansen 33
Soma binária

• Regras:
Operação Resultado
0+0 0
0+1 1
1+0 1
1+1 10 (0 e “vai
1”)
• Exemplo:

• OBS: o “vai 1” ou transporte é chamado


de “carry”
Introd.Arq.Computadores e SO
Prof. Mauro Jansen Sistemas de Numeração 34
Soma binária

• Overflw (estouro): é quando o


resultado da soma não cabe na
quantidade de bits disponível
• Exemplo (dispondo de 4 bits):

10102 (1010)
+ 11012 (1310)
Overfoo
101112 ( 710)
Introd.Arq.Computadores e SO
Sistemas de Numeração
Prof. Mauro Jansen 35
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
Prof. Mauro Jansen 36
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
Prof. Mauro Jansen 37
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
Introd.Arq.Computadores e SO 1 ao complemento de 1
Sistemas de Numeração
Prof. Mauro Jansen 38
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
Prof. Mauro Jansen 39
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
–Qtd.de
1 Qtd.valore Faixa de valores
• Exemplos:
bits s
4 24-1 = 15 -7 a +7
8 28-1 = 255 -127 a +127
16 216-1 = -32.768 a +32.768
65535
Introd.Arq.Computadores e SO
Sistemas de Numeração
Prof. Mauro Jansen 40
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
complemento de B do número X =
BN – x

– Onde: B é a base do sistema de numeração


Sistemas de Numeração
N é a quantidade de dígitos do número X
Introd.Arq.Computadores e SO
41
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
Prof. Mauro Jansen 42
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 + 97Redes = de107 (desprezando o 1, fca
Computadores
07)Mauro Jansen
Prof. Introdução, histórico e conceitos
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
Operação Resultado
• Regras:
0-0 0
1-0 1
1-1 0
• Exemplo:
0-1 11 (1 e “vai
111 1”)
1000
- 0011
0101

Introd.Arq.Computadores e SO
Prof. Mauro Jansen Sistemas de Numeração 44
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
Prof. Mauro Jansen 45
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
Despreza-se o dígito que
1000 excede a quantidade de bits
+1101
Introd.Arq.Computadores e SO
que é 4
Sistemas de Numeração
Prof. Mauro Jansen 46
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
Prof. Mauro Jansen 47
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 usando
Introd.Arq.Computadores e SO
Sistemas de Numeração
Prof. Mauro Jansen 48

Você também pode gostar