Post on 16-Apr-2015
Aritmética Computacional
Organização de Computadores e Sistemas Operacionais
Aula 02
Faculdade Maurício de NassauProfessora: Viviane LucyCursos: WebDesign e Redes de Computadores
Números Binários As palavras de um computador são compostas
por bits.
Essas palavras podem ser representadas na memória como números binários.
Os números naturais podem ser representados tanto em decimal quanto em binário.
Ex. 101101002
Ex. 01002 = (0 x 23) + (1 x 22) + (0 x 21) + (0 x 20) = 410
Números Binários Algumas perguntas podem surgir:
Como representar números negativos? Qual o maior número que pode ser
representado em uma palavra de computador?
O que acontece se uma operação cria um número maior do que o maior valor que a palavra daquela máquina pode acomodar?
Números Binários Da aritmética sabemos que, em qualquer base, o
valor do i-ésimo dígito, d, de um número é dado por:
onde i começa em 0 e cresce da direita para esquerda Exemplo: O valor do terceiro dígito do número
1234 é:
iBased
2102d Base
i
Números Binários O mesmo ocorre com os números binários (base 2)
onde i começa em 0 e cresce da direita para esquerda Desta forma, é fácil numerar os bits de uma
palavra.Ex. Qual número decimal representa o número binário
010112 ?01011 = 1*20 + 1*21 + 0*22 + 1*23 + 0*24 =1110
id 2
Representação de números negativos Notação sinal/magnitude
Cada número possui um bit adicional que representa o sinal.
Problemas Duas representações para o zero. Os somadores deveriam estabelecer o valor do bit de
sinal.
Ex. 101002 = -4
Bit de sinal
Representação de números negativos Notação complemento a dois
Números com zero (0) à esquerda são considerados positivos, números com um (1) à esquerda são considerados negativos.
0002 = (0 x 22) + (0 x 21) + (0 x 20) = 0
0012 = (0 x 22) + (0 x 21) + (1 x 20) = 1
0102 = (0 x 22) + (1 x 21) + (0 x 20) = 2
0112 = (0 x 22) + (1 x 21) + (1 x 20) = 3
1002 = (1 x- 22) + (0 x 21) + (0 x 20) = -4
1012 = (1 x -22) + (0 x 21) + (1 x 20) = -3
1102 = (1 x -22) + (1 x 21) + (0 x 20) = -2
1112 = (1 x -22) + (1 x 21) + (1 x 20) = -1
Representação de números negativos Notação complemento a dois
Assim: Num processador de n bits há 2n combinações de
palavras possíveis, sendo 2n-1 negativas, 2n-1 – 1 positivas e 1 representando o 0 (zero).
O maior número positivo que pode ser representado é 2n-1 – 1.
O menor número negativo que pode ser representado é -2n-1.
Regra prática para negação
Considere x é um número em complemento a dois. x é a representação invertida de x.
Ex. x = 0112 então x = 1002
A soma x + x = -1, portanto
x + x + 1 = 0 Então –x = x + 1; Ex. x = 0112(3) então -x = 1002 + 0012 = 1012 (-3)
Regra prática para negação Assim podemos concluir que :
Para representar um número negativo podemos seguir os seguintes passos:
1. Representar o número positivo2. Inverter os bits3. Somar 1 à palavra invertida
Exemplo: Como representar o número -34 em binário?
X = 34 = 0100010 X = 1011101 -x = x + 1 = 1011101 + 1 = 1011110
Conversão decimal - binário Como representar um número decimal em número
binário? Devemos expressar este número em uma soma de
potências de 2. Exemplo: 3410
34 = 32 + 2 = = 1 *25 + 0*24 + 0*23 + 0*22 + 1*21 + 0*20 =
= 01000102
Regra prática para conversão
34 2 0 17 2 1 8 2 0 4 2 0 2 2 0 1
3410= 01000102
Exercícios de fixação1- Converta os seguintes números decimais em
números binários de 8 bits (1 byte)a) 57 d) -35b) 80 e) -100c) 125 f ) – 722 - Converta os seguintes números binários em
decimaisa) 00101011 c)01101011b) 10110100 d)11000000Obs. Considere notação complemento a dois
Operações Lógicas e Álgebra Booleana
Portas lógicas
And (e)
X Y1
S
X Y S
0 0 0
0 1 0
1 0 0
1 1 1
Portas lógicas Or (ou)
X
Y
1 S
X Y S
0 0 0
0 1 1
1 0 1
1 1 1
Portas lógicas Inversor
X X
0 1
1 0
X
Portas lógicas Podemos fazer associações das
portas lógicas e formar as portas: Nand ( não-e)
X Y S
0 0 1
0 1 1
1 0 1
1 1 0
Portas lógicas Nor (Não- ou)
X Y S
0 0 1
0 1 0
1 0 0
1 1 0
Portas lógicas XOR (Ou-exclusivo)
X Y S
0 0 0
0 1 1
1 0 1
1 1 0
X
YS
Multiplexador O multiplexador é um dispositivo que
possui: 2n entradas 1 saída n sinais de controle
Multiplexador Ex. mux 4 para 1
Exemplos
Operações aritméticas
O meio somador de 1 bit
a
b
CarryOut
soma+
a b Soma CarryOut
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
O somador completo de 1 bit
a b CarryIn Soma CarryOut
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
a
b
CarryOut
soma+
CarryIn
Soma binária Os bits são somados um a um, da direita
para a esquerda,´com os carries sendo passados para o próximo bit à esquerda.
(0) (0) (1) (1) (0)
0 0 0 1 1 1
0 0 0 1 1 0
0 (0)0 (0)1 (1)1 (1)0 (0)1
+a
b
Soma
Subtração binária
Nega-se o segundo operando, e soma-se o resultado ao primeiro.Ex. 7 – 5 = 7 + (-5) 7 = 01112
5 = 01012
-5 = 10112
(1) (1) (1)
0 1 1 1
1 0 1 1
0 (1)0 (1)1 (1)0
+
Overflow
Ocorre quando o resultado da operação não pode ser representado, com uma palavra de n bits.
Ex. 410 = 01002
510 = 01012
5 + 4 = 90100
+ 0101
1001
- 7
00100
+ 00101
01001 9
Overflow
Operação Operando A Operando B Resultado
A + B > 0 > 0 < 0
A + B < 0 < 0 > 0
A – B > 0 < 0 < 0
A – B < 0 > 0 > 0
Unidade lógica aritmética (ULA)
É o dispositivo que realiza operações aritméticas ( soma,subtração,...) e lógicas (and, or,...) .
São os músculos do computador. Com os conhecimentos adquiridos até
então, podemos criar uma ULA de 1 bit.
ULA
ULA
Exercícios de fixação
1) Complete as tabelas verdade:
a) S = (X+Y).(X+Y) b) S = X+(Y.Z)X Y S
0 0
0 1
1 0
1 1
X Y Z S
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Exercícios de fixação
2) Realiza as operações em binário, e indique quando houver overflow:
a)0110 + 0010 =b)1100 + 0110 =c)1010 + 1001 =d)0001 + 0110 =
Obs. Considere números de 4 bits na notação complemento a dois.
Exercícios de fixação
2) Qual é o resultado na saída da ULA considerando que:
a) Controle = 01, a = 1, b = 0b) Controle = 10, a = 0, b = 0