Professional Documents
Culture Documents
Augusto Silva
augusto.silva@ua.pt
Resumo
3 Mudanas de base
4 Aritmtica elementar
5 Quantidades Negativas
6 Bibliografia
Notao posicional
X = (dn1 dn2 , . . . , d0 d1 d2 , . . . , dp )r
Bases e Alfabetos
Exemplos
1234.5678 = 1 83 + 2 82 + 3 81 + 4 80
+5 81 + 6 82 + 7 83
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
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}
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
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
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
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
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
Mudanas de base
Diviso sucessiva
Fundamentao:
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
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
Mudanas de base
Exerccios
1 Converta para base 5
a) 101102
b) 647
2 Converta para base 2
a) 536
b) 437
c) 12910
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
.. ..
.=.
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
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
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
Multiplicao
Aritmtica elementar
Diviso
Quantidades Negativas
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
Quantidades Negativas
Exemplos
No contexto decimal:
Com 3 dgitos tem-se necessariamente 500 N 499
X = (2n X 1) + 1
0
Importa reconhecer que (2n X 1) = (Xn1 . . . X00 ), donde
0
X = (Xn1 . . . X00 ) + 1
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
Overflow
-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
Quantidades Negativas
Deteco de overflow
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
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
Bibliografia
Bibliografia