Arquitetura de ComputadoresUnidade 1 – Sistemas de Numeração Posicionais
2a Parte – Aritmética não decimal para Números
Inteiros
Prof. Dr. Eng. Fred Sauer
http://www.fredsauer.com.br
Objetivos da Unidade
• Capacitar a realizar cálculos aritméticos com
números não decimais
– Será limitado a números inteiros e positivos
– O livro-texto, no Apêndice A e cap. 7, demonstra
operações com números fracionários e negativos
• Motivações
– Em caso de cálculo com resultado acima do
esperado, o computador pode entrar em estado
de overflow e comprometer todo o sistema
Aritmética Binária
• Somas com binários
– Operações básicas: 0 + 0 = 0, 0 + 1 = 1, 1 + 0
= 1 e 1 + 1 = 0, com “vai 1”, ou 102
• Exemplos:
– 4510 + 4710
– 4510 = 1011012 e 4710 = 1011112
45
+47
2
1
9
101101
+101111
011 0
1
0
0
11 1
11
0
1
Resp.: 10111002
Agora Pratique
• 35710 + 31510
– 357 + 315 = 672
– 357 = 101100101
– 315 = 100111011
• 9910 + 9110
– 99 + 91 = 190
– 99 = 1100011
– 91 = 1011011
10110010
1+10011101
1 0 00
0
11
1000
111
101
111
0 1
1
0
1100011
+1011011
0
11
11 111
Subtração Binária
• Mesmo procedimento ao “pedir
emprestado”, só que agora a base é 2, e
não 10…
• Exemplos:
– 101101 – 100111 = ?
– 100110001 – 10101101 = ?
101101
-
100111
1
0 0
22
1010
0
22100110001
- 010101101
00
12
10000
Agora Pratique
• 37 – 26 em binário
– 37 = 100101
– 26 = 11010
• 201 – 187 em binário
– 201 = 11001001
– 187 = 10111011
100101- 011010
2
10 1
21
2
100
11001001
- 10111011
0
2
0
2
11
112
1000
221
Multiplicação binária
• Semelhante ao
decimal, porém ainda
mais simples:
• Exemplos:
– 6 x 5 → 110 x 101
– 21 x 13 → 10101 x 1101
110
X
101
1
10
0
1
0
0
0
1
10111
+
10101
X 1101
01
1
001
1010100 00
1 101 10+
0 100
1
0
11
10
1
0
11
Agora Pratique
• 29 x 10 = ?
– 29 = 11101
– 10 = 1010
• 206 x 13 = ?
– 206 = 11001110
– 13 = 1101
11101
X 1010
10
+
0
00
0
1
10000
11 10000
11 1
00 01 1
1
0 0
1
1
1
11001110
X 1101
1
11
0
0
1
1 1110000 000000
01111 011 11
000 0+0 0 01 1 1
111
11
1
1
1
1
10
Divisão Binária
• Procedimento
igual ao decimal:
– Exemplos:
• 35 / 5 = 7
– 35 = 100011
– 5 = 101
• 37/5 = 7, resto 2
– 37 = 100101
– 5 = 101
– 2 = 10
100011 101`
1101-
1000- 101
212
1
1
21
111
`
- 101
11
0
0
01
1
`
- 101
1
100101 101` ``
2
00
2
1
1
- 101
1001- 101
1001
- 101
100
0- 101
2211
11
0
0
1
1
11- 101
Agora Pratique
• 101010/110
• 37/4
– 37 = 1000101
– 4 = 100
– 37/4 = 9 resto 1
(1001, resto 1)
101010 110
1
1 1
1
1
00
0
0
0
` `
`
`
- 110
1
- 110
1
1- 110
1000101100
11
10
00
```- 100 0
`
- 1001
Aritmética Octal
• Mesmos conceitos anteriores, usando a
base 8
• Soma:
– 36578 + 17418
• Subtração
– 73128 – 34658
3657
+ 1741
0
8
1
5
1
6
1
2
7312- 3465
5
8
2
8
63
Agora Pratique
• 4438 + 6538
• 23518 - 17638
443+ 653
1
131
1
6
2351
- 1763
8
6
8
6
8
3
Aritmética Hexadecimal
• Idem octal
• 3A943B16 + 23B7D516
• 4C7BE816 – 1E927A16
3A943B
+ 23B7D5
1
0
1
1
1
A 10
B 11
C 12
D 13
E 14
F 15
4E
16
5 C
4C7BE8
- 1E927A
16
E 6E2
16
9D
Agora Pratique
• 2A5BEF16 + 9C82916
• 64B2E16 – 27EBA16
2A5BEF
+ 9C829
A 10
B 11
C 12
D 13
E 14
F 15
111
18
1
2434
1
64B2E
- 27EBA7
16
4
16
3 C
16
C
E agora ?
• Faça os exercícios do livro-texto, páginas
73 a 78