Sistemas Binários: Representação de Número e Circuitos Aritméticos

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 36

Sistemas binários

Representação de número e circuitos aritméticos

Prof. João Costa, 2021-22 2 Arquitectura de Computadores


Objectivo
• Representação de números em formatos binários e
hexadecimais.

Prof. João Costa, 2021-22 3 Arquitectura de Computadores


Introdução (1/4)
• Representação de qualquer número N em qualquer base b.
• N = dn−1 × b n−1 + dn−2 × b n−2 + . . . + d1 × b 1 + d0 × b 0

n−1
dj × b j

N=
j=0

• dj é o algarismo que representa o peso da potência j da base


• O número de algarismo necessário é b
• dj ∈ {0,1,...,b − 1}
• Exemplo: (1101)2 = 1310

Prof. João Costa, 2021-22 4 Arquitectura de Computadores


Introdução (2/4)
• Número sem sinal escrito num sistema de numeração de
base b, que designamos por N(b), vem representado por
uma sequência infinita de dígitos.
Nesta sequência cada dígito di é
N(b) = . . . d2d1d0d−1d−2 . . . ponderado por um peso b i
associado à sua posição. Veja a
expressão abaixo. 😎

+∞
dib i = . . . d2b 2 + d1b 1 + d0b 0 + d−1b −1 + d−2b −2 + . . .

N(10) =
−∞

A igualdade sugere que um número deve ser representado por uma


sequência de dígito infinito. Tal sequência é impossível de escrever ou de
utilizar… precisamos torná-la finita. 😉

Prof. João Costa, 2021-22 5 Arquitectura de Computadores


Introdução (3/4)
• Torna-se finita procedendo as seguintes operações: (1)
truncamento dos dígitos não significativo à esquerda da
representação, se existir, (2) truncamento dos dígitos à
direita da representação ou, quando tal não for possível,
arredondamento de dígito de menor peso.
N(b) = . . . dq−1dq−2 . . . d1d0d−1d−2 . . . d−p Obtemos assim
uma sequência
finita. 😎

q−1
i q−1 1 0 −1 −p

N(b) = dib = dq−1b + . . . + d1b + d0b + d−1b + . . . + d−pb
i=−p

Prof. João Costa, 2021-22 6 Arquitectura de Computadores


Introdução (4/4)
Tem parte
fraccionária
• O número 460,13(7) tem o equivalente decimal infinita.

238,204081... . Se quisermos tornar finita, precisamos


truncar ou arredondar. Se quisermos obter uma precisão
de 5 casas, truncámos a parte fraccionária
238,20408(10). Se apenas precisamos 4 casas decimais,
neste caso arredondámos 238,2041(10) Como truncar ou
Detalhes : arredondar
= 4 × 72 + 6 × 71 + 0 × 70 + 1 × 7−1 + 3 × 7−2 correctamente um
1 1 número fraccionário
= 4 × 49 + 6 × 7 + 0 × 1 + 1 × + 1 × numa base arbitrária?
7 49
= 196 + 42 + 0 + 0,142857... + 0,061224...
= 238,204081...
Prof. João Costa, 2021-22 7 Arquitectura de Computadores
Representação: base 2
• No sistema binário ou sistema de base b = 2, usa
apenas os dígitos 0 e 1, que são designados por bits.

• Por exemplo o número 1101,11(2), que tem por equivalente


decimal o número 13,75(10).
Detalhes :
= 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20 + 1 × 2−1 + 1 × 2−2
1 1
=1×8+1×4+0×2+1×1+1× +1×
2 4
= 8 + 4 + 1 + 0,5 + 0,25 = 13,75(10)

• Um número binário de N-bit representa uma de 2N


N−1
possibilidades: 0,1,2,3,...,2
Prof. João Costa, 2021-22 8 Arquitectura de Computadores
Potência de 2
É a potência de 2 que
Conhecimento das
mais se aproxima de
potências de 2 mais
1000(10) (por esta
importantes, ajuda a
razão, o factor k toma
manejar com mais
a designação habitual
de "quilo" no sistema facilidade os pesos b i
binário). necessários às
conversões entre as

bases. 😎

Veja como fica simples: 216 = 26 × 210 = 64 × 1024(10) = 65536(10),


Lembrando que 26 × 210 = 64k 😀
Analogamente, 220 = 1M, “mega”, e 230 = 1G, “giga”.

Prof. João Costa, 2021-22 9 Arquitectura de Computadores


Grandes números
• Factor multiplicador: 1024

• Utilizam-se mais frequentemente para expressar a


capacidade de memória de um computador (em bytes).
Exemplos: 512 MB, 40 GB, 2 TB.

Prof. João Costa, 2021-22 10 Arquitectura de Computadores


Potência base 2

Prof. João Costa, 2021-22 11 Arquitectura de Computadores


Representação: base 16
• No sistema hexadecimal, com base b = 16, Dígitos decimais
normais + as 6
usamos 16 dígitos, que são: primeiras letras

0,1,2,3,4,5,6,7,8,9,A, B, C, D, E, F. do alfabeto.

• Por exemplo o número F30,DA(16), que tem por


equivalente decimal o número 3888,8515625(10).
Detalhes :
2 1 0 −1 −2
= 15 × 16 + 3 × 16 + 0 × 16 + 13 × 16 + 10 × 16
1 1
= 15 × 256 + 3 × 16 + 13 × + 10 ×
16 256
= 3840 + 48 + 0,8125 + 0,0390625 = 3888,8515625(10)

Prof. João Costa, 2021-22 12 Arquitectura de Computadores


Potência

Prof. João Costa, 2021-22 13 Arquitectura de Computadores


Conversão
• Método de subtrações sucessivas. 😁

Prof. João Costa, 2021-22 14 Arquitectura de Computadores


Conversão
• Método de divisões sucessivas. 😁

Divisões Restos
bit menos significativo

bit mais significativo

Prof. João Costa, 2021-22 15 Arquitectura de Computadores


Conversão
Número Binário para Hexadecimal

Prof. João Costa, 2021-22 16 Arquitectura de Computadores


Conversão
Número Hexadecimal para Binário

Prof. João Costa, 2021-22 17 Arquitectura de Computadores


Conversão
Equivalências

Prof. João Costa, 2021-22 18 Arquitectura de Computadores


Soma (Binária e Hex)

Possíveis valores

Prof. João Costa, 2021-22 19 Arquitectura de Computadores


Soma (Processamento)

Prof. João Costa, 2021-22 20 Arquitectura de Computadores


Complemento para 2
• Representação em complemento para 2 NÃO é a
operação de complementar para 2 (obter simétrico). 😁

Prof. João Costa, 2021-22 21 Arquitectura de Computadores


Complemento para 2
• Representar um número em complemento para 2:
• Se o número é positivo, basta simplesmente converter
para binário.
• Se o número for negativo, converte-se o seu módulo
(valor positivo) para binário e depois acha-se o seu
simétrico.

Prof. João Costa, 2021-22 22 Arquitectura de Computadores


Soma e subtração
• A − B = A + (−B)
• Basta ter o simétrico de B em complemento para 2.
• Exemplo: 5C(16) − 5C(16) = 5C(16) + (−5C(16))

Prof. João Costa, 2021-22 23 Arquitectura de Computadores


Gama de número
• Com N bits consegue-se representar números inteiros

• 0 a 2N − 1 (sem sinal)
N−1 N−1
• −2 + 1 a 2 − 1 (com sinal / magnitude)
N−1 N−1
• −2 a 2 − 1 (complemento para 2)
• Por exemplo, com 8 bits
• 0 a 255 (só >= 0)
• -128 a +127 (complemento para 2)

Prof. João Costa, 2021-22 24 Arquitectura de Computadores


Gama de número
• Considere o número A3F9 C05BH
a) Quantos bits são necessários para o representar?
R: 32, pois temos 8 dígitos hexadecimais (4 bits cada)
b) Em complemento para 2 com 32 bits, é positivo ou
negativo?
R: É negativo, pois o bit de maior peso é 1
c) Determine o seu simétrico em complemento para 2
(apresente-o em hexadecimal).

Prof. João Costa, 2021-22 25 Arquitectura de Computadores


Projectar…
Unidade de Somador e Subtrator…
Excesso (overflow)

Prof. João Costa, 2021-22 27 Arquitectura de Computadores


Excesso (overflow)
Deteção de excesso na adição.
• Se os operandos têm sinal diferente, não pode haver
excesso;
• Se os operandos têm o mesmo sinal, ocorre excesso
quando o sinal do resultado for diferente do sinal dos
operandos.
Deteção de excesso na subtração.
• Se os operandos têm sinal igual, não pode haver excesso;
• Se os operandos têm o sinal diferente, ocorre excesso
quando o sinal do resultado for diferente do sinal do
primeiro operando.
Prof. João Costa, 2021-22 28 Arquitectura de Computadores
Bibliografia
Livro LCDF-5E-2015, no repositório da cadeira, secções
1.3, 1.4 e 1.5.
OPC-Elsevier (2014), no repositório da cadeira, secção
1.3.
Arroz, G. S., Monteiro, J. C. E Oliveira, A. L. - Introdução
aos Sistemas Digitais e Microprocessadores, Secções 2.3
e 2.4.

Prof. João Costa, 2021-22 29 Arquitectura de Computadores


Exercícios
Conversão - revisão
• Converte o número hexadecimal 2EDH para binário e
decimal.

• Converta o decimal 333 para hexadecimal e binário.


Resolução em sala de aula

Exercício - Papel e lapis


1. Que gama de números em decimal é possível
representar em binário com 12 bits:
a) sem sinal
b) em complemento para 2? Justifique.
2. Indique a que número decimal corresponde o número
binário 1100111001B, supondo que este:
a) não tem sinal
b) está em complemento para 2.
3. Considere o número decimal –20. Represente-o:
a) em complemento para 2 com 8 bits (binário)
b) em hexadecimal com 2, 4 e 8 dígitos.

Prof. João Costa, 2020 32 Arquitectura de Computadores


Resolução em sala de aula

Exercício - Papel e lapis


4. Imagine que está a contar carneiros em binário para
adormecer (!!!), usando os dedos de uma mão como bits
(esticado 1, encolhido 0). Até quantos carneiros (em
decimal) consegue contar no máximo?
5. Considere os números 13 e 7.
a) Converta-os para binário (5 bits, complemento para 2)
e some-os, mostrando a conta com o transporte em
cada bit.
b) Há ou não excesso (overflow)?
c) Qual o maior número possível para o segundo
operando da soma sem a conta dar excesso?
Prof. João Costa, 2020 33 Arquitectura de Computadores
Resolução em sala de aula

Exercício - Papel e lapis


6. Diga quanto vale em decimal, mas usando o K como 1024, os
seguintes números hexadecimais: 1000H, 400H, 100H, 8000H,
10000H, 300H. Faça os cálculos sem máquina de calcular
tendo por base alguns truques (quanto é que vale 100H e
1000H, quantas vezes é que 400H cabe em 1000H, etc)
7. Quantos bits precisa, no mínimo, para representar o número
decimal 3.456.728? Mostre que consegue responder a esta
pergunta sem converter o número para binário.
8. Mostre que a soma de N bits de um número binário com N bits
com o seu complemento para 2 dá sempre zero. Pista: Some
em binário um número qualquer de 8 bits com as parcelas
necessárias para o converter para complemento para 2.

Prof. João Costa, 2020 34 Arquitectura de Computadores


Resolução em sala de aula

Exercício - Papel e lapis


9. Qual o maior e o menor número que consegue representar
com 8 dígitos em hexadecimal?
a) sem sinal
b) em complemento para 2?
10. Quantos bits no total têm 12 Kbytes (resposta em decimal) ?
11. Qual o valor do expoente da potência de 2 equivalente a K,
M, G e T?
12. Utilizando estes factores de escala, indique o valor das
seguintes potências de 2 (exemplo: 214 = 16K): 226, 219,
238, 245.

Prof. João Costa, 2020 35 Arquitectura de Computadores


Se tiver algum
tempo…
Pesquise…
Sobre outras representações de números
• Número de ponto-flutuante

Códigos
• Código Binário Natural (CBN)
• Código Binário Reflectido (CBR)
• BCD (Binary-Coded-Decimal)
• Códigos m-em-n
• Códigos alfanuméricos
• ASCII (American Standard Code for Information Interchange)
• ISO-8859-1

Você também pode gostar