Arquitetura e Organização de Computadores aula 2 Profa. Débora Matos Sistema binário • Cada dígito do sistema binário é denominado bit (binary digit); • Um quarteto (4) de bits é denominado de NIBBLE; • Um octeto (8) de bits é chamado de BYTE; • 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Soma de números binários a c d=a+c 0 0 0 0 1 1 1 0 1 1 1 0 e “vai um” Tabela verdade de um meio somador Soma de números binários a c vem-um 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 d=a+c Tabela verdade de um somador completo vai-um Soma de números binários a c vem-um d=a+c vai-um 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 Tabela verdade de um somador completo Números inteiros positivos • Quantos números conseguimos representar com 3 dígitos binários? • E com 5 dígitos binários? • Quantos números conseguimos representar com 4 dígitos em base 3? Números com sinal: representação em sinal magnitude • Para representar números com sinal, normalmente utiliza-se o dígito mais significativo: Faixa de representação: [-(Bn-1 -1), (Bn-1 -1)] negativos, positivos Números com sinal: representação em sinal magnitude • Das Bn combinações, usam-se somente 2Bn-1-1= 2n-1 para representar o total de valores a serem representados: • Em binário utiliza-se: 0 => para representar números positivos 1=> para representar números negativos Números com sinal: representação em sinal magnitude 1) Exercícios: 01010010 = 11010010 = 0101 = 1101 = 01011110 = 10010010 = Números com sinal: representação em sinal magnitude 1) Exercícios: 01010010 = 82 11010010 = -82 0101 = 5 1101 = -5 01011110 = 94 10010010 = -18 Números com sinal: representação em sinal magnitude • Um número em sinal magnitude é representado por: a= S(a)M(a) (0 ou 1) • Nesta representação a magnitude permanece igual para números positivos e negativos Soma de dois números (sinal-magnitude) S(a) S(c) S(d) + + + - + - _ + Se M(a)>=M(c), + Se M(a)<M(c), Se M(a)>M(c), + Se M(a)<=M(c), - M(d) M(a)+M(c) Exemplo 00101 + 00111=01100 M(a)+M(c) 10101 + 10111 = 11100 M(a)-M(c) M(c)-M(a) M(a)-M(c) M(c)-M(a) d=a+c 00111 + 10101 = 00010 00101 – 10111 = 10010 10111 + 00101 = 10010 10101 – 10111 = 00010 Números com sinal: representação em complemento de B-1 • Números positivos são representados da mesma forma; • Números negativos são representados em complemento. • O complemento é obtido subtraindo-se esse número (a) da maior quantidade representável: Bn-1-a Números com sinal: representação em complemento de B-1 • Faixa de representação para base binária: -Bn/2-1, Bn/2-1 • Ainda continua existindo a dupla representação do zero. Números com sinal: representação em complemento de B-1 • Determinação do sinal em complemento de B-1: – metade superior da faixa: negativo – metade inferior da faixa: positivo – Para bases pares, basta verificar o dígito mais significativo Exemplo: 4³ = 64 combinações Então: 0 – 31: positivos 32-63: negativos Números com sinal: representação em complemento de B-1 2) Exercícios: Descubra qual é o número equivalente em decimal para os seguintes binários em complemento de B1: a) com 4 dígitos: – – – – 1110 1001 1010 0101 b) Com 6 dígitos: – 101011 – 100111 – 111100 Números com sinal: representação em complemento de B-1 • Para negar um número positivo, basta complementar Bn-1-a • Em alguns casos pode ocorrer estouro de representação: 1110 + 1101 = 1011 e vai um • Para resolver esse problema, basta adicionar 1 na soma final => 1011 + 0001 = 1100 1110 => 1111 – 1110 = 0001 = -1 (decimal) 1101 => 1111 – 1101 = 0010 = -2 (decimal) 1100 => 1111 – 1100 = 0011 = -3 (decimal) Soma em complemento de B-1 3) Exercícios: Obter o valor da soma de a+c para os seguintes casos em complemento de B-1 na base 2: a c 1 1110 1001 2 1111 0001 3 1001 0111 4 0110 1111 5 0101 1000 6 0111 1010 d=a+c Soma em complemento de B-1 3) Exercícios: Obter o valor da soma de a+c para os seguintes casos em complemento de B-1 na base 2: a c d=a+c 1 1110 1001 1000 2 1111 0001 0001 3 1001 0111 0001 4 0110 1111 0110 5 0101 1000 1101 6 0111 1010 0010 Números com sinal: representação em complemento de B • Vantagem: não tem dupla representação • Utiliza-se a fórmula Bn-a. • Faixa de representação: (para pares) [-(Bn/2), +(Bn/2-1)] • Nesse caso, a faixa negativa sofre o deslocamento de 1 unidade. Os números positivos permanecem iguais. • Exemplo: base 2, 4 dígitos: 1000 até 0111 : -8 até 7 Números com sinal: representações Binário Inteiros positivos Sinal-magnitude Complemento de 1 Complemento de 2 0000 0 0 0 0 0001 1 1 1 1 0010 2 2 2 2 0011 3 3 3 3 0100 4 4 4 4 0101 5 5 5 5 0110 6 6 6 6 0111 7 7 7 7 1000 8 -0 -7 -8 1001 9 -1 -6 -7 1010 10 -2 -5 -6 1011 11 -3 -4 -5 1100 12 -4 -3 -4 1101 13 -5 -2 -3 1110 14 -6 -1 -2 1111 15 -7 -0 -1 Números com sinal: representação em complemento de B • Cálculo do valor do número: a) Determinação do sinal: se a representação do número como inteiro positivo estiver na metade superior da faixa, ele é negativo: Exemplo: 0000 a 1111=> 0 a 15 0000 a 0111 - 0 a 7 é positivo 1000 a 1111 - 8 a 15 é negativo Para bases pares basta analisar o dígito mais significativo, se igual a 1 na base binária, o número é negativo. Números com sinal: representação em complemento de B b) Determinação da magnitude do número: Se o número é negativo, para calcular o seu valor deve se calcular o complemento de B: Realizar o complemento de (B-1) ex: 1111-a, e por fim, somar 1 ao resultado: Exemplos: 1111 1111 + 1100 0011 0001 0100 = -4 + 1011 0100 0001 0101 = -5 Números com sinal: representação em complemento de B 4) Exercícios: Encontre o valor em decimal que representa o número em binário em complemento de 2. Com 4 dígitos a) 1110 = b) 1001 = c) 1010 = Com 6 dígitos a) 101111=-17 b) 110100=-12 c) 111001= Números com sinal: representação em complemento de B 4) Exercícios: Encontre o valor em decimal que representa o número em binário em complemento de 2. Com 4 dígitos a) 1110 = -2 b) 1001 = -7 c) 1010 = -6 Com 6 dígitos a) 101111=-17 b) 110100=-12 c) 111001=-7 Soma em complemento de B Para obter o resultado da soma em complemento de 2, quando houver o vai-um, desconsiderá-lo: 5) Exercícios a C d = a + c (em com. de 1) d=a + c (em com. de 2) 1 1110 1001 1000 2 1111 0001 0001 3 1001 0111 0001 4 0110 1111 0110 5 0101 1000 1101 6 0111 1010 0010 Subtração Na subtração basta realizar a soma dos dois termos com o segundo termo com o sinal trocado: d= a - c = a + (-c) a c d=a+c 0 0 0 0 1 1 e “pede-um” 1 0 1 1 1 0 Tabela verdade de um meio-subtrator Subtração a c emprestou 1 d=a+c pede 1 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 Tabela verdade de um subtrator completo 1 Números com sinal: representação em complemento de B 6) Exercícios: Considerando os pares de números binários de 6 bits indicados abaixo, efetuar a operação de soma entre eles, supondo: a) Os números estão representados em sinal e magnitude b) Os números estão representados em complemento de um c) Os números estão representados em complemento de dois Para cada caso, interpretar o resultado, isto é, determinar qual é o seu valor numérico e indicar se este valor é o resultado correto da operação para a forma de representação sugerida 1) 010101 e 110110 2) 010101 e 010110 3) 110101 e 1101110 Exercícios 7) Exercícios: Converter os números 17 e 15 para binário usando 6 bits e efetuar a operação de soma entre eles usando as seguintes representações: a) sinal e magnitude b) complemento de um c) complemento de dois Aplicar a correção sempre que necessário 8) Exercícios: Repetir o exercício 7 para os números 13 e 8. Exercícios 9) Exercícios: Usando a técnica de subtração, mostrar como a) b) c) d) obter as seguintes diferenças em binários de 6 bits em complemento de 2 e em complemento de 1. 8-7 15-24 -16-16 20-13 10) Exercícios: Repetir o exercício 7 para os números: -17 e -15.