Aritmética binaria

Page 1

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


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.