CURSO PROFISSIONAL DE TÉCNICO GESTÃO DE EQUIPAMENTOS INFORMÁTICOS ANO LETIVO 2012-2013 – 1ºANO – TURMA B
Sistemas Digitais e Arquitetura de Computadores Ficha de Apoio M1.2: Operações Aritméticas em binário
PARTE I - SOMA Para a soma de dois números binários, usamos o mesmo método da soma de números decimais (ou seja, somamos os dígitos coluna a coluna, a contar da direita, e vamos passando valor de transporte de coluna em coluna, se ocorrer). Por exemplo, na soma de números decimais, na conta 12 + 19, o método de cálculo é o seguinte: i)
2+9 =11, logo escrevemos 1 na 1ªcoluna à direita e colocamos 1 no transporte (“e vai um”)
ii) Na coluna seguinte, somamos 1 (que vem do transporte da coluna anterior) + 1 + 1 = 3 iii) E assim, sucessivamente …
Na soma binária, o método é o mesmo, com a diferença de que o transporte ocorre sempre que o resultado da soma dos dígitos de uma coluna é maior que 1.
Assim, temos que usar o mĂŠtodo descrito e em cada passo aplicar as seguintes regras (na soma coluna a coluna):
DĂgitos 0+0 0+1 1+0 1+1 1+1 (com 1 de transporte da coluna anterior)
Resultado Transporte 0 1 1 0 1 1
1
Alguns exemplos:
1 1
11 + 11 110
1 1 1
100 + 10 110
111 + 1 1000 1 1
1
110 + 100 1010 1 1 1 1 1
110011001 + 11001111 1001101000 Clica na figura para ver outro exemplo em vĂdeo:
PARTE II – SUBTRAÇÃO Para a subtração de dois números binários, vamos usar nesta disciplina um método com códigos de complemento. Assim, termos em cada subtração de calcular os complementos 1 (C1) e 2 (C2) do segundo termo. Para obtermos o complemento de 1 (C1) de um número binário, basta inverter (trocar) os bits deste número, ou seja: se A = 0111 (2), então C1(A) = 1000(2). O Complemento de 2 (C2) é calculado somando 1 ao complemento de 1 (C1) do número: por exemplo, se A = 0111 (2); C1(A) + 1 = C1(0111) + 1 = 1000 + 1 = 1001
Uma vez que já sabemos calcular C1 e C2, o método a utilizar para a subtração é o seguinte: Passos para a subtração binária (com 2 termos)
Exemplo: 1011 - 111
1. Alinhar à direita os dois termos da subtração 2. Completar o de menor tamanho com zeros à esquerda (para ficarem do mesmo tamanho)
111 = 0111
3. Calcular o complemento para 1 do segundo termo (passando os 0 a 1 e os 1 a 0)
C1(0111) = 1000
4. Calcular o complemento para 2 do segundo termo (somando 1 ao complemento para 1)
C2(0111) = C1(0111) + 1 = 1000 + 1 = 1001
5. Somar o primeiro termo ao complemento para 2 do segundo termo
A + C2(B) =1011 + 1001
6. A soma resultante vai dar o resultado da subtração A-B
1011+1001 = 10100
7. Se o resultado tiver mais um dígito do que as parcelas, remover o bit mais significativo ( o 1 mais à esquerda)
10100
8. Se não tiver mais um dígito, então o resultado da subtração é um número negativo (e coloca-se um (-) antes do número). NOTA: Para convertermos um número binário negativo para decimal, calculamos o seu complemento para 2 antes da conversão.
Exemplo 1: 1000 – 0011 Número de dígitos igual, por isso não é preciso acrescentar nenhum zero à esquerda Vamos ter que fazer 1000 – C2 (0011) Para obtermos C2 (0011), temos que calcular C1 (0011) Assim, C1 (0011) = 1100 (passam-se os 0 a 1 e os 1 a 0) Calculamos C1: Invertemos os dígitos (0 passam a 1, e 1 passam a 0) Assim: C1(0011) = 1100 Calculamos C2: C2 (x) = C1 (x) +1
1100 +
1 1101
Somamos ao primeiro termo C2 (segundo termo)
1
1000 + 1101 Neste caso, como o número de bits do resultado é maior do que o número de bits dos termos, eliminamos o bit mais significativo (o mais à esquerda) Se não tiver mais um dígito, então o resultado da subtração é um número negativo (e coloca-se um (-) antes do número).
10101
Exemplo 2: 101100 – 110 Número de dígitos diferente – o primeiro termo tem 6 dígitos, o segundo termo tem 3 dígitos –, por isso acrescentamos três zeros à esquerda do segundo termo: 101100 – 000110 Em seguida: Calculamos C1 do segundo termo: Invertemos os dígitos (0 passam a 1, e 1 passam a 0) Assim: C1(000110) = 111001 Calculamos C2:
1
111001
C2 (x) = C1 (x) +1 +
1 111010
Somamos ao primeiro termo o C2 do segundo termo
11
101100 + 111010 Neste caso, como o número de bits do resultado é maior do que o número de bits dos termos, eliminamos o bit mais significativo (o mais à esquerda) Se não tiver mais um dígito, então o resultado da subtração é um número negativo (e coloca-se um (-) antes do número).
1100110
Exemplo 3: 100 – 1110 Número de dígitos diferente – o primeiro termo tem 3 dígitos, o segundo termo tem 4 dígitos –, por isso acrescentamos um zero à esquerda do primeiro termo: 0100- 1110 Em seguida: Calculamos C1 do segundo termo: Invertemos os dígitos (0 passam a 1, e 1 passam a 0) Assim: C1(1110) = 0001 Calculamos C2:
1
0001
C2 (x) = C1 (x) +1 +
1 0010
Somamos ao primeiro termo o C2 do segundo termo 0100 + 0010 Neste caso, como o resultado não tem mais um dígito que os termos, o resultado da subtração é um número negativo (e coloca-se um (-) antes do número). Se o número de bits do resultado fosse maior do que o número de bits dos termos, eliminávamos o bit mais significativo (o mais à esquerda) e o resultado seria um número positivo
(-) 0110
Exercícios: 1) Aplicando o método de complementos, efetua as seguintes subtrações (NOTA: faz e apresenta todos os cálculos) a) 1111100 – 11011
Clica para ver resolução:
b) 1110000011 –111
c) 101010 -10111
d) 11100001 – 111000000
e) 111000 - 11
FICHAS DE TRABALHO Tens aqui algumas ligações para fichas de trabalho sobre a matéria deste módulo. Aproveita para resolver alguns exercícios. Vais ver como tudo se torna mais fácil. Se tiveres dúvidas, envia mail, SMS ou coloca questões na aula.
Ficha 1
Ficha 2
Ficha 3