You are on page 1of 17

Introduo aos Sistemas Digitais

Introduo aos Sistemas de Numerao

Augusto Silva

Department de Electrnica, Telecomunicaes e Informtica


Universidade de Aveiro

augusto.silva@ua.pt

AFS (Univ. Aveiro) ISD 1 / 34

Resumo

1 Elementos dum sistema de numerao

2 Bits, Bytes e Words

3 Mudanas de base

4 Aritmtica elementar

5 Quantidades Negativas

6 Bibliografia

AFS (Univ. Aveiro) ISD 2 / 34


Elementos dum sistema de numerao

Elementos dum sistema de numerao


Alfabeto
Conjunto de smbolos
Base
decimal, binria, octal, hexadecimal, outras, . . .
Regra de Representao
Notao posicional
Comprimento de representao
Nmero de smbolos
Na prtica temos um nmero finito de smbolos
Restries gama de representao
Exemplos
234561910
001100112
7651048
DACA116

AFS (Univ. Aveiro) ISD 3 / 34

Elementos dum sistema de numerao

Notao posicional

A uma determinada quantidade X associamos uma lista ordenada de


smbolos ou dgitos dk

X = (dn1 dn2 , . . . , d0 d1 d2 , . . . , dp )r

O valor de X resulta de a cada smbolo estar associado um peso


dependente da respectiva posio
n1
X
X= dk rk = dn1 rn1 +dn2 rn2 + +d0 +d1 r1 + dp rp
k=p

dk {0, . . . , r 1}, Alfabeto


n + p smbolos
r Base

AFS (Univ. Aveiro) ISD 4 / 34


Elementos dum sistema de numerao

Bases e Alfabetos

#Smbolos Base Alfabeto


2 2 (binria) 0,1
8 8 (octal) 0,1,2,. . . ,6,7
10 10 (decimal 0,1,2,. . . ,7,8,9
16 16 (hexadecimal) 0,1,2,. . . ,8,9,A,B,C,D,E,F

Exemplos

1234510 = 1 104 + 2 103 + 3 102 + 1 101 + 5 100


DACA116 = 13 164 + 10 163 + 12 162 + 10 161 + 1 160

1234.5678 = 1 83 + 2 82 + 3 81 + 4 80
+5 81 + 6 82 + 7 83

AFS (Univ. Aveiro) ISD 5 / 34

Elementos dum sistema de numerao

As bases 8 e 16
Relao directa como a base binria
Um dgito octal 3 dgitos binrios (bits)
Um dgito hexadecimal 4 dgitos binrios (bits) (nibble)

Exerccio
Construa uma tabela com os primeiros 16 nmeros inteiros representados
em notao decimal, binria, octal e hexadecimal.
Mudanas de base por substituio directa
010 111 001 1012 = 27158
DACA116 = 1101 1010 1100 1010 00012
Notao compacta para descrever palavras multibyte
Mais til a notao hexadecimal (porqu?)
Especificao compacta do espao de endereamento de dispositivos
de memria

AFS (Univ. Aveiro) ISD 6 / 34


Elementos dum sistema de numerao

Outras bases
Base 24
Horas do dia
Base 60
Trigonometria: (g, m, s)
Tempo: (h, m, s)
Bases complexas
2i com alfabeto: {0, 1, 2, 3}
i 1 com alfabeto: {0, 1}

AFS (Univ. Aveiro) ISD 7 / 34

Elementos dum sistema de numerao

Exerccios
1 Qual a quantidade decimal representada por

a) 11012
b) 379
c) 0.01102
d) 0.167
2 Qual a quantidade decimal representada por
a) 11210.31(2i)
3 Determinar possveis bases b e c tal que
a) 5A16 = 132b
b) 2010 = 110c

4 Determinar uma possvel base b tal que se verifique 41 = 5

AFS (Univ. Aveiro) ISD 8 / 34


Bits, Bytes e Words

Bits, Bytes e outros

Dgito Binrio Binary Digit Bit


1 Byte = 8 Bits
16 Bit Word = 2 Bytes
32 Bit Word = 4 Bytes
64 Bit Word = 8 Bytes

AFS (Univ. Aveiro) ISD 9 / 34

Bits, Bytes e Words

Potncias de 2

2n n 2n
1 0 1
2 1 0.5
4 2 0.25
8 3 0.125
16 4 0.0625
32 5 0.03125
64 6 0.015625
128 7 0.0078125
256 8 0.00390625
512 9 0.001953125
1024 = 1K 10 0.0009765625

64K = 26 210 = 64 1024 = 65536


1M = 220 = 210 210 = 1024 1024 = 1048576
1G = 230 = 210 220 = 1024 1048576 = 1073741824
1T = 240 = 220 220 =?
AFS (Univ. Aveiro) ISD 10 / 34
Mudanas de base

Mudanas de base
Motivaes:
Interface entre o mundo real decimal e as instncias de processamento
binrio
Formulao do problema:
Passar duma representao em n dgitos e base r para uma
representao em m dgitos em base s
Condies:
Em geral uma quantidade resulta da justaposio duma componente
inteira com uma componente fraccionria

0 < FRAC(X) < 1, 0r = 0s , 1r = 1s

FRAC(Xr ) 7 FRAC(Xs )
INT(Xr ) 7 INT(Xs )
No caso de quantidades no inteiras deve adoptar-se um critrio que
determine o nmero de dgitos significativos consistente com os erros
de representao nas bases inicial e final
AFS (Univ. Aveiro) ISD 11 / 34

Mudanas de base

Erros de representao

Seja n o nmero de dgitos fraccionrios na base r


Seja m o nmero de dgitos fraccionrios na base s
Interessa determinar m de tal forma que os erros de representao
sejam o mais prximos possvel:
r s
(n+1) (m+1)
|Er | r |Es | s
2 2
log r
sm rn m n
log s
Se considerarmos que a mudana de base no deve trazer acrscimo
de preciso ento  
log r
m= n
log s
Nota: b.c o operador floor que trunca a quantidade para o nmero inteiro imediatamente inferior.

AFS (Univ. Aveiro) ISD 12 / 34


Mudanas de base

Exemplos
1 Qual a representao decimal correcta para
a) 12.3458
3 4 5
12.3458 = 1 8 + 2 + + +
8 64 512
 
log 8
m= 3 = b2.7c = 2
log 10
12.3458 = 10.4510
b) DA.CA116
12 10 1
DA.CA116 = 13 16 + 10 + + +
16 256 4096
 
log 16
m= 3 = b3.6c = 3
log 10
DA.CA116 = 218.78910

AFS (Univ. Aveiro) ISD 13 / 34

Mudanas de base

Converso da parte inteira

Como o sistema aritmtico humano assenta na base 10 a mudana da


base r para a base s processa-se segundo um algoritmo baseado em
divises sucessivas (DIVS)
Processo genrico:
Converso Intermdia
z }| {
N = (an1 . . . a0 )r = (dk1 . . . d0 )10 = (bm1 . . . b0 )s
n1
X
N10 = (dk1 . . . d0 )10 = ai r i
i=0
 
N10
N10 = (bm1 . . . b0 )s = DIVS
s

AFS (Univ. Aveiro) ISD 14 / 34


Mudanas de base

Diviso sucessiva

Fundamentao:

N10 = bm1 sm1 + bm2 sm2 + + b1 s + b0



= bm1 sm2 + bm2 sm3 + + b1 s + b0
= sQ1 + b0

Q1 = bm1 sm3 + bm2 sm4 + + b2 s + b1
= sQ2 + b1

Q2 = bm1 sm4 + bm2 sm5 + + b3 s + b2
= sQ3 + b2
.. ..
.=.
Qm1 = sbm1

AFS (Univ. Aveiro) ISD 15 / 34

Mudanas de base

Exemplos

432 2
400 216 2
32 200 108 2
20 16 100 54 2 1462 8
12 16 8 40 27 2 800 182 8
12 0 8 14 20 13 2 662 160 22 8
0 0 14 7 12 6 2 640 22 16 2
0 6 1 6 3 2 22 16 6
1 0 2 1 16 6
1 6
432 = 1101100002 1462 = 26668

AFS (Univ. Aveiro) ISD 16 / 34


Mudanas de base

Exemplos

432 5 1462 16
400 86 5 1440 91 16
32 50 17 5 22 80 5
30 36 15 3 16 11
2 35 2 6
1 B
432 = 32125 1462 = 5B616

AFS (Univ. Aveiro) ISD 17 / 34

Mudanas de base

Exerccios
1 Converta para base 5

a) 101102
b) 647
2 Converta para base 2
a) 536
b) 437
c) 12910

AFS (Univ. Aveiro) ISD 18 / 34


Mudanas de base

Converso da parte fraccionria

Fundamentao (Multiplicao Sucessiva)

F10 = b1 s1 + b2 s2 + + bp sp

s.F10 = b1 + b2 s1 + + bp sp+1
= b1 + P1

s.P1 = b2 + b3 s1 + + bp sp+2
= b2 + P2
.. ..
.=.

AFS (Univ. Aveiro) ISD 19 / 34

Mudanas de base

Exemplo
0.6 8 7 5 0.3 7 5

0.687510 = 2 2
(b1 . . . bp )2 1.3 7 5 0 0.7 5 0
Quantos dgitos binrios
so adequados? 0.7 5 0.5

  2 2
log 10 1.5 0 1.0
m= 4 = 13
log 2 ..
.

0.687510 = 0.10110000000002

AFS (Univ. Aveiro) ISD 20 / 34


Aritmtica elementar

Adio e Subtraco

Adio binria
Transporte
+ 0 1
1 1 1 0 1
0 0 1
+ 1 1 0 0 1
1 1 0
1 1 0 1 1 0

Subtraco binria
Transporte
- 0 1
1 1 0 0 1
0 0 1
1 1 0 - 1 0 1

1 0 1 0 0

AFS (Univ. Aveiro) ISD 21 / 34

Aritmtica elementar

Multiplicao

Multiplicao binria

X 0 1 1 0 1 1 1
0 0 0 X 1 0 1 0

1 0 1 0 0 0 0 0
1 0 1 1 1
0 0 0 0 0
1 0 1 1 1
1 1 1 0 0 1 1 0

AFS (Univ. Aveiro) ISD 22 / 34


Aritmtica elementar

Multiplicao

Multiplicao binria: Shift and add


2 3

1 3
10111
6 9
1101
23
00000
29 9
10111
Exerccios 010111
Aplique a tcnica shift and add para obter em 00000-
binrio 0010111
10111-
a) 15 15
01110011
b) 25 4 10111-
c) 25 8 100101011
d) O que h de especial nos dois ltimos casos?

AFS (Univ. Aveiro) ISD 23 / 34

Aritmtica elementar

Diviso

Diviso binria: Brevemente ...

AFS (Univ. Aveiro) ISD 24 / 34


Quantidades Negativas

Quantidades Negativas

Sistema de notao posicional por si s no conduz naturalmente


representao de quantidades negativas
Metodologias mais comuns:
Sinal e Mdulo
Consistncia com a notao posicional
Necessrio um smbolo adicional para representar o sinal
Sistema natural para os humanos mas incompatvel com a
fundamentao modular da aritmtica dos sistemas digitais.
Cdigos de Complemento
Um subconjunto da gama de representao absoluta codifica as
quantidades negativas
Natural em sistemas computacionais digitais
No necessita smbolo adicional para representao do sinal
Permite processamento integrado da soma algbrica

AFS (Univ. Aveiro) ISD 25 / 34

Quantidades Negativas

Sinal + Mdulo

Soma Algbrica AB
Soma algbrica AB
Conveno: na posio mais esquerda
if sinal(A) = sinal(B) then
begin 0 sinal "+"
|soma| = |A|+|B|
sinal(soma) = sinal(A) 1 sinal ""
end
else Ambiguidade para o zero
if |A|>|B| then
begin
|soma| = |A|-|B| +0 = 0 0000 0 = 1 0000
sinal(soma) = sinal(A)
end
else +6 = 00110 (4 bits para mdulo)
begin
|soma| = |B|-|A| 6 = 10110 (4 bits para mdulo)
sinal(soma) = sinal(B)
end
Exerccio
Muito difcil para o Determine 4 7 em binrio usando notao
hardware sinal e mdulo

AFS (Univ. Aveiro) ISD 26 / 34


Quantidades Negativas

Complementos para a base

Com n dgitos e base r define-se o complemento para a base r duma


quantidade X, como
RC(X) = rn X
RC "Radix Complement"
A ideia substituir o clculo duma quantidade M X pela soma
M + RC(X) = M + rn X
Este procedimento produz resultados vlidos desde que
rn rn
M X 1
2 2

M X = (M X)modrn
Nota: a operao modr n deve ser entendida como o resto da diviso inteira por r n

AFS (Univ. Aveiro) ISD 27 / 34

Quantidades Negativas

Exemplos
No contexto decimal:
Com 3 dgitos tem-se necessariamente 500 N 499

300100 = (300100)mod1000 = (300+(1000100)mod1000) = 200

Repita com 5 dgitos e calcule 3000 - 2500

AFS (Univ. Aveiro) ISD 28 / 34


Quantidades Negativas

Complemento para a base 2

Caso particular, relevante nos sistemas computacionais binrios


Determinao do complemento para 2 duma quantidade representada
por n dgitos
X = (2n X)
Por questes de facilidade de implementao podemos recorrer ao
complemento para a base diminudo ou complemento para 1

X = (2n X 1) + 1
0
Importa reconhecer que (2n X 1) = (Xn1 . . . X00 ), donde
0
X = (Xn1 . . . X00 ) + 1

Exemplo com 5 bits

X = (01101), X = (10010) + 1 = 10011

AFS (Univ. Aveiro) ISD 29 / 34

Quantidades Negativas

Algoritmo sequencial

i=0
4(2)
while bi = 0
Igual at ao primeiro 1
begin
2sc(bi) = bi 0 0 1 0 0
i = i+1 1 1 1 0 0
end
28(2) = 2 sc(4)
for k:=i +1 to n do
begin
2sc(bi) = bi Peso do bit mais significativo = !2n!1
end
1! ("24 ) + 1! (23 ) + 1 ! (22 ) = "4
Nota: 2sc twos complement

AFS (Univ. Aveiro) ISD 30 / 34


Quantidades Negativas

Overflow

Overflow acontece quando o resultado duma operao algbrica


excede a gama de representao
Resultados so de sinal contrrio aos dos operandos
Exemplos com 4 bits

-3 1101 5 0101
+ -6 +1010 + 6 +0110
-9 10111 = +7 +11 1011 = -5

-8 1000 7 0111
+ -8 +1000 + 7 +0111
-16 10000 = 0 +14 1110 = -2

AFS (Univ. Aveiro) ISD 31 / 34

Quantidades Negativas

Deteco de overflow

Verifique, nestes casos o que acontece com o valor do ltimo e


penltimo carry-out da adio algbrica.
Uma perspectiva grfica

0000
1111 0001
1110 +0 0010
1 +1
2 +2
1101 0011
3 +3
Subtraction of Addition of
1100 4 +4 0100
positive numbers positive numbers
5 +5
1011 0101
6 +6
7 +7
8
1010 0110
1001 0111
1000

Adaptado de J. Wakerly, "Digital Design Principles & Practices". 3rd ed.

AFS (Univ. Aveiro) ISD 32 / 34


Quantidades Negativas

Exerccios
Considere um comprimento de representao de 8 bits. Caso seja possvel,
determine em notao de complemento para 2:
a) 45 + 20
b) 45 20
c) 20 45
d) 20 45
e) 90 + 50
f) 90 50
g) 50 90

AFS (Univ. Aveiro) ISD 33 / 34

Bibliografia

Bibliografia

J. Wakerly, "Digital Design Principles & Practices", Cap 2.

AFS (Univ. Aveiro) ISD 34 / 34