Aritmetica
Computadores
Aritmética para Computadores
ALU - Interface
Representação Inteira
• 0s e 1s representam tudo
• Valores
• Caracteres
• Cores
• Números Positivos armazenados em Binário
• Ex. 41=00101001
• Representação de números negativos
• Sinal e magnitude
• Complemento de dois
Sinal e Magnitude
• O bit menos significativo é o bit de sinal
• 0 indica valor positivo
• 1 indica valor negativo
• +18 = 00010010
• -18 = 10010010
• Problemas
• Necessidade de considerar o sinal e a magnitude na operação aritmética
• Duas representações para zero zero (+0 e -0)
• Dificuldade de realizar operações
Complemento de dois
• Uma representação para o zero
• Simplifica a realização de operações aritméticas
• Facilidade de calcular o valor negativo
•
•
•
•
•
•
3 = 00000011 : -3 = ?
Complemento de 3 11111100
Adição de 1 ao LSB 11111101
-3 = 11111101
Números negativos mantém o MSB igual a 1
Números positivos mantém o MSB igual a 0
Exemplos
•
•
•
•
•
•
•
•
•
•
•
+5 = 00000101
+4 = 00000100
+3 = 00000011
+2 = 00000010
+1 = 00000001
+0 = 00000000
-1 = 11111111
-2 = 11111110
-3 = 11111101
-4 = 11111100
-5 = 11111011
Regra auxiliar para cálculo do complemento de dois:
- Repete os bits da direita para a esquerda até encontrar o primeiro 1
- Inverte todos o demais números depois do primeiro 1
Disposição gráfica de números
Inteiros em complemento de 2
Negação: Caso Especial 1
•
•
•
•
•
•
0 =
00000000
Negação
11111111
Adicionando 1 ao LSB
Resultado
1 00000000
Overflow é ignorado, então:
-0=0
Negação: Caso Especial 2
•
•
•
•
•
•
-128 =
10000000
Negação
01111111
Adicionando 1 ao LSB
Resultado
10000000
Então: -(-128) = -128 ?
Desequilíbrio do numero de bits positivos e negativos representáveis
• Maior número negativo –2n-1
• Maior número positivo 2n-1-1
Intervalo de Representação
• Complemento de dois em 8 bits
• +127 = 01111111 = 27 -1
• -128 = 10000000 = -27
• Complemento de dois em 16 bits
• +32767 = 011111111 11111111 = 215 - 1
• -32768