24
1

Aritmética Binaria.codificación-1 (1)

Embed Size (px)

DESCRIPTION

Aritmética Binaria.codificación-1 (1)

Citation preview

Page 1: Aritmética Binaria.codificación-1 (1)

1

Page 2: Aritmética Binaria.codificación-1 (1)

U.T.1 [PARTE II] ARIMÉTICA BINARIA.

CODIFICACIÓN

2

Page 3: Aritmética Binaria.codificación-1 (1)

3. ARITMÉTICA BINARIA

A operación aritmética máis importante é a suma. Nela baséanse os

sistemas dixitais para facer restas, multiplicaións e divisións.

3.1. SUMA BINARIA.

Suma decimal: 328 10 + 456 10

1 CARREXO (ACARREO, CARRY)

3 2 8 10

+ 4 5 6 10

7 8 4 10

COMBINACIÓNS DA SUMA

BINARIA

S1 S2 SUMA

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0 e carréxase 1

EXEMPLO 1: Suma en binario: 21 10 + 27 10

SUMA SUMA

DECIMAL BINARIA

1 1 1 1 1 CARREXO

2 1 10 1 0 1 0 1 2

+ 2 7 10 + 1 1 0 1 1 2

4 8 10 1 1 0 0 0 0 2

3

Page 4: Aritmética Binaria.codificación-1 (1)

3.1. SUMA BINARIA.

Número total de uns da columna que se está a sumar:

• Se fose par, a suma será 0;

• Se fose impar a suma será 1 e

A columna seguinte carrexará o número de uns que coincida co

redondeo á baixa da cantidade de pares de uns que hai na columna

que estamos a sumar.

EXEMPLO 2:

Suma en binario: 127 10 + 87 10 + 110 10 + 85 10

DECIMAL BINARIA

1 3 2 2 2 3 2 1 Nº DE UNS

1 2 7 10 1 1 1 1 1 1 1 2 DO

8 7 10 1 0 1 0 1 1 1 2 CARREXO

1 1 0 10 1 1 0 1 1 1 0 2

+ 8 5 10 + 1 0 1 0 1 0 1 2

4 0 9 10 1 1 0 0 1 1 0 0 1 2

4

Page 5: Aritmética Binaria.codificación-1 (1)

3.1. SUMA BINARIA. CIRCUITOS DIXITAIS SUMADORES

5

Na entrada do circuito só os

dous bits sumandos a e b non

se conta o carrexo anterior.

Na entrada do circuito os dous

bits sumandos a e b e o

carrexo anterior, ci.

SEMISUMADOR. HALF ADDER

SUMADOR COMPLETO.

FULL ADDER

Page 6: Aritmética Binaria.codificación-1 (1)

REPRESENTACIÓN DE NÚMEROS NEGATIVOS:

3.2.1. MÓDULO SIGNO (MS).

BIT DE SIGNO. É o bit máis significativo (o 1º da esquerda)

dunha cantidade binaria.

Cantidade positiva: B.S. = 0

Cantidade negativa: B.S. =1

O módulo é o valor absoluto (sen signo) da cantidade a

representar.

Con 8 bits en MS temos 1 bit de signo e 7 bits para o módulo

(7+1). Cos 7 bits do módulo temos 27 = 128 valores

distintos, co signo representamos os números dende – 127

ata o + 127.

6

3.2. RESTA BINARIA. COMPLEMENTO A 1 E A 2

Page 7: Aritmética Binaria.codificación-1 (1)

3.2.1. MÓDULO SIGNO (MS).

Co bit de signo represéntase a mesma cantidade de datos

diferentes que cun número determinado de bits, pero estes

datos teñen a característica de estar distribuídos doutro xeito.

Pódese comprobar que existen dúas combinacións binarias que

corresponden ao cero, unha positiva e outra negativa.

A descodificación dun número en MS é inmediata, xa que o

módulo ven dado en binario natural e só compre facelo positivo

ou negativo a partires do bit de signo.

EXEMPLOS:

7

B.S. MS (4+1)

0 0 1 0 0 MS= + 410

1 0 1 0 0 MS= - 410

0 1 1 1 1 MS= + 1510

1 1 1 1 1 MS= - 1510

B.S. MS (7+1)

0 1 1 1 1 1 1 1 MS = + 1 2 7 10

1 1 1 1 1 1 1 1 MS = - 1 2 7 10

0 0 0 0 0 0 0 0 MS = + 0 = 0

1 0 0 0 0 0 0 0 MS = - 0 = 0

Page 8: Aritmética Binaria.codificación-1 (1)

3.2.2. COMPLEMENTO A 1. CA1

Codificación:

Números positivos: O número codifícase en binario natural e

engádeselle á esquerda o bit de signo=0.

Números negativos: Pártese da codificación como se fose

positivo, segundo a regra dos positivos, e despois

compleméntase a 1: trocando os ceros por uns e os uns por

ceros, incluindo o bit de signo.

8

EXEMPLOS:

DECIMAL CA1:

Pon ó xeito de complemento a un o número - 1 3 9 10

1. Convértese a binario o número positivo e pónselle o bit de signo:

+ 139 10 = 010001011.

2. Trócanse os uns en ceros e os ceros en uns, converténdose o número en

negativo:

- 1 3 9 10 = 1 01110100 (CA1).

RESULTADO: - 1 3 9 10 = 1 0 1 1 1 0 1 0 0 (CA1).

Page 9: Aritmética Binaria.codificación-1 (1)

Número en

CA1 (4 + 1)

signo Cambiar 1’s por

0’s e viceversa.

módulo valor

decimal

0 0100 + 0100 = 410 4

1 1011

-

Complemento a 1

11011 cambio

00100 = 410

- 4

0 1111 + 1111 = 1510 15

1 0000

-

Complemento a 1

10000 cambio

01111 = 1510

- 15

0 0000 + 0000 = 010 + 0 = 0

1 1111

-

Complemento a 1

11111 cambio

00000 = 010

- 0 = 0

9

3.2.2. COMPLEMENTO A 1. CA1

CA1 DECIMAL:

Page 10: Aritmética Binaria.codificación-1 (1)

Na táboa anterior podemos observar:

En CA1, o número cero ten dúas posibles representacións, unha

positiva e outra negativa.

O rango de valores que se poden representar en CA1 de n + 1

bits (n para a magnitude e 1 para o signo) vai dende –(2n -1) ata

2n -1.

A descodificación dun número en CA1 é inmediata para os

positivos, e para os negativos abonda con facer de novo o

complemento a 1 para obter o seu módulo en binario natural.

10

3.2.2. COMPLEMENTO A 1. CA1

Page 11: Aritmética Binaria.codificación-1 (1)

3.2.3. COMPLEMENTO A DOUS (CA2). Ao igual que en CA1, en CA2 o bit máis significativo MSB emprégase

para indicar o signo do número representado (bit de signo).

A codificación dun número en CA2 faise de acordo coas seguintes

regras:

Números positivos: o número codifícase como en CA1 (en binario

natural e engádeselle á esquerda o bit de signo=0).

Números negativos: Acádase sumando 1 ao CA1 do número en

cuestión.

En CA2:

Os números positivos son igual que en CA1 e que en binario natural, coa

particularidade de que sempre empezan por 0 (bit de signo).

No caso dos números negativos, ao complementar o positivo de partida,

o bit de signo pasa a valer sempre 1, o que indica que é negativo.

11

Page 12: Aritmética Binaria.codificación-1 (1)

EXEMPLOS

CA2 DECIMAL:

12

3.2.3. COMPLEMENTO A DOUS (CA2).

Número en

CA2 (4 + 1)

signo CA1 + 1 en negativos módulo valor

dec

0 0100 + 0100 = 410 4

1 0100 - 10100 01011 + 1=

01100

01100 = 1210

-12

1 1100 - 11100 00011+1 =

0100

00100 = 410

-4

0 1111 + 1111= 1510 15

1 0001 - 10001 01110 + 1 =

01111

01111 = 1510

-15

1 1111 - 11111 00000 + 1 =

00001

00001=110

- 1

0 0000 + 0000=010 0

1 0000 - 10000 01111 + 1 =

10000

10000=1610

- 16

Page 13: Aritmética Binaria.codificación-1 (1)

Na táboa anterior podemos observar:

O número cero só ten unha posible representación, a positiva

000...00.

O rango de valores que se poden representar en CA2 de n+1 bits (n

para a magnitude e 1 para o signo) vai dende – 2n ata 2n-1 (ver filas

8 e 4).

13

3.2.3. COMPLEMENTO A DOUS (CA2).

DECIMAL CA2:

Pon ó xeito de complemento a dous o número - 1 3 9 10 .

1. Obtemos ó complemento a un do número :

+ 139 10 = 010001011 1 01110100 (CA1).

2. Súmase a unidade ó número obtido:

- 1 3 9 10 = 1 0 1 1 1 0 1 0 0

+ 1

1 0 1 1 1 0 1 0 1

RESULTADO: - 1 3 9 10 = 1 0 1 1 1 0 1 0 1 (CA2).

Page 14: Aritmética Binaria.codificación-1 (1)

RESUMO DOS SISTEMAS DE NUMERACIÓN

BINARIO CON SIGNO n + 1 bits MS CA1 CA2

+ - + - + - Decodificar -

Método de

codificación

Módulo

en

binario

natural

de n bits

Engadir

bit de

signo = 0

Módulo en

binario

natural de

n bits

Engadir bit

de signo =

1

Módulo

en binario

natural

de n bits

Engadir

bit de

signo = 0

Módulo

en

binario

natural

de n bits

Engadir

bit de

signo = 0

Complem

ento a 1

Módulo en

binario

natural de n

bits

Engadir bit

de signo = 0

Módulo en

binario

natural de n

bits

Engadir bit

de signo = 0

Complemen

to a 1

Sumar 1

Complemento

a 1

Sumar 1

Ler módulo

en binario

natural

Por signo -

Rango de

valores

2n -1 -(2n -1) 2n-1 -(2n -1) 2n -1 - 2n

Códigos do 0 000...00 100...00 000...00 111...11 000...00 -------

14

Page 15: Aritmética Binaria.codificación-1 (1)

3.2.4. SUMA E RESTA EN COMPLEMENTO A 2

CA2 (4+1) suma binaria CA2 (4+1) suma binaria

00110 = 610 00110

00011 = 310 + 00011

01001 = 910 01001

00110 = 610 00110

10011 = -1310 + 10011

11001 = - 710 11001

15

Cando sumamos dous números codificados en CA2 de n+1 bits

(positivos ou negativos), coas regras da suma binaria natural, o

número obtido é a suma dos números de partida, tendo en conta os

seus signos, lido en CA2 de n+1 bits (desprézase o posible bit n+2 de

carrexo).

Exemplos:

CA2 (4+1) suma binaria

11100 = - 410 11100

11011 = - 510 + 11011

10111 = - 910 1 10111

Desprézase o bit de

carrexo (n+2 = 6)

Page 16: Aritmética Binaria.codificación-1 (1)

Ao sumar dous números en CA2(n+1), o resultado non sempre se

vai poder expresar en CA2(n+1), así, cando se suman dous números

positivos, cada un con n bits de magnitude, o resultado tamén será

positivo e pode chegar a ter ata n+1 bits de magnitude, o que non

se pode codificar en CA2(n+1), senón que faría falta CA2[(n+1)+1].

A este feito chámaselle desbordamento (overflow).

EXEMPLO:

16

3.2.4. SUMA E RESTA EN COMPLEMENTO A 2

CA2 (3+1) suma

binaria

A suma debería ser Con 3 bits de

magnitude

representamos

ata o valor:

23 -1 = 7.

0 101 = 510 0 101

0 100 = 410 + 0 100

1 001 = - 710 1 001

0 101 CA2 (3+1) 910 en CA2 (3+1) NON

+ 0 100 CA2 (3+1)

0 1001 CA2 (4+1) = 910

NON É CORRECTO, xa que en CA2 (3+1), 1001 = - 710 , non é 5+4 = 9

Page 17: Aritmética Binaria.codificación-1 (1)

CA2 (3+1) suma binaria A suma debería ser

1 001 = - 710 1 001

1 100 = - 410 + 1 100

0 101 = 510 1 0 101

1 001 CA2 (3+1) - 1110 en CA2 (3+1) NON

1 100 CA2 (3+1)

1 0101 CA2 (4+1) = -1110

NON É CORRECTO, xa que en CA2 (3+1), 0101 = - 510 , non é -7 + (- 4 )= - 11

17

3.2.4. SUMA E RESTA EN COMPLEMENTO A 2

O mesmo pode ocorrer cando se suman dous números negativos,

por exemplo:

Cando se suma un número positivo e un negativo, nunca vai a haber

desbordamento, é dicir, o resultado, positivo ou negativo, sempre se vai a

poder expresar en CA2(n+1), igual que os sumandos.

Nas situacións de desbordamento, o resultado, que é incorrecto, presenta un

bit de signo contrario ao dos sumandos. Así, cando se suman dous números

positivos e hai desbordamento, o resultado presenta signo negativo.

Reciprocamente, cando se suman dous números negativos e hai

desbordamento, o resultado presenta signo positivo.

Page 18: Aritmética Binaria.codificación-1 (1)

Resta en CA2

Para restar un número a outro, non hai máis que sumarlle o

oposto. O oposto dun número en CA2, sexa positivo ou negativo,

obtense polo método descrito en apartados anteriores, é dicir,

complementando a 1 e sumando 1.

Nas operacións de resta tamén poden darse casos de

desbordamento, por exemplo cando a un número positivo se lle

resta un negativo (equivale a sumar dous positivos), ou cando a

un negativo se lle resta un positivo (equivale a sumar dous

negativos).

18

3.2.4. SUMA E RESTA EN COMPLEMENTO A 2

Page 19: Aritmética Binaria.codificación-1 (1)

EXEMPLO: Resta en CA2(7+1): 37-28 , -24-50 e -125 - 6

Expresamos a resta como suma:

37 – 28 = 37 + (-28)

-24 – 50 = -24 + (-50)

-125 – 6 = -125 + (-6)

Expresamos os sumandos en CA2(7+1)

37=00100101

-28 signo -; 28 = 000111002 en CA1: 11100011+1= 11100100

-24 signo -; 24 = 000110002 en CA1: 11100111+1 = 11101000

-50 signo -; 50 = 001100102 en CA1: 11001101+1 = 11001110

-125 signo -; 125 = 011111012 en CA1: 10000010+1=10000011

-6 signo -; 6 = 0 00001102 en CA1: 11111001+1=11111010

19

3.2.4. SUMA E RESTA EN COMPLEMENTO A 2

Page 20: Aritmética Binaria.codificación-1 (1)

(CONTINUACIÓN EXEMPLO)

• Facemos as sumas en CA2 (desprezamos o carrexo de saída)

37= 00100101 -24 = 11101000 - 125= 10000011

- 28 = +11100100 -50 = +11001110 - 6 = +11111010

1 00001001 1 10110110 1 01111101

9 -74 DESBORDAMENTO

SIGNO +

MÓDULO =125

20

3.2.4. SUMA E RESTA EN COMPLEMENTO A 2

Page 21: Aritmética Binaria.codificación-1 (1)

SISTEMA DE CODIFICACIÓN NUMÉRICA BINARIA

BCD (BINARY CODED DECIMAL)

O sistema BCD (Binario Codificado Decimal) é un sistema

de codificación binario para o decimal.

Dado un número decimal, substitúese cada díxito decimal, polo

seu equivalente binario de 4 bits. E ao revés, o número binario en

BCD pásase a decimal formando grupos de 4 bits comezando polo

LSB e substituíndo cada grupo polo díxito decimal equivalente.

O método é semellante ao empregado nos sistemas octal e

hexadecimal, pero aplicado ao decimal. Compre ter sempre

presente, que o número binario BCD non é o equivalente binario

natural do número.

21

Page 22: Aritmética Binaria.codificación-1 (1)

SISTEMA DE CODIFICACIÓN NUMÉRICA BINARIA

BCD (BINARY CODED DECIMAL)

É un sistema de codificación:

PONDERADO 8 4 2 1 (PESOS DE CADA BIT).

Usa as 10 primeiras combinacións do sistema binario natural, esto

quere dicir que as cantidades binarias 1 0 1 0, 1 0 1 1, 1 1 0 0, 1 1

0 1, 1 1 1 0 e 1 1 1 1 correspondentes as cantidades decimais 10,

11, 12, 13, 14 e 15 nunca aparecerán no código BCD natural; estas

cantidades decimais se representarán neste código con 8 bits.

Aplícase nos procesos que relacionan os números decimais cos

circuítos que traballan en binario e viceversa, nos que hai unha

visualización numérica decimal a través de displays, un exemplo

serían as fontes de alimentación.

22

Page 23: Aritmética Binaria.codificación-1 (1)

23

SISTEMA DE CODIFICACIÓN NUMÉRICA BINARIA BCD

(BINARY CODED DECIMAL)

DEC BINARIO

NATURAL

BCD

NATURAL

0 0 0 0 0 0

1 1 0 0 0 1

2 1 0 0 0 1 0

3 1 1 0 0 1 1

4 1 0 0 0 1 0 0

5 1 0 1 0 1 0 1

6 1 1 0 0 1 1 0

7 1 1 1 0 1 1 1

8 1 0 0 0 1 0 0 0

9 1 0 0 1 1 0 0 1

10 1 0 1 0 0 0 0 1 0 0 0 0

11 1 0 1 1 0 0 0 1 0 0 0 1

12 1 1 0 0 0 0 0 1 0 0 1 0

13 1 1 0 1 0 0 0 1 0 0 1 1

14 1 1 1 0 0 0 0 1 0 1 0 0

15 1 1 1 1 0 0 0 1 0 1 0 1

Conversión DECIMAL BCD:

EXEMPLO 1: Pasar a decimal

100100111000 BCD

Facemos grupos de 4 bits,

empezando polo bit menos

significativo, e pasamos cada grupo a

decimal:

1 0 0 1 0 0 1 1 1 0 0 0 9 3 8 10.

9 3 8

RESULTADO: 1001 0011 1000 BCD = 9 3 8 10

OLLO!!; en binario

1 0 0 1 0 0 1 1 1 0 0 0 2

0 x 2 0 + 0 x 2 1 + 0 x 2 2 + 1 x 2 3 +

+ 1 x 2 4 + 1 x 2 5 + 0 x 2 6 + 0 x 2 7 +

1 x 2 8 + 0 x 2 9 + 0 x 2 10 + 1 x 2 11 =

2360 10

RESULTADO:

1 0 0 1 0 0 1 1 1 0 0 0 2 = 2 3 6 0 10

Page 24: Aritmética Binaria.codificación-1 (1)

24

SISTEMA DE CODIFICACIÓN NUMÉRICA BINARIA BCD

(BINARY CODED DECIMAL)

Conversión DECIMAL BCD:

EXEMPLO 2: Pasar a decimal 10100101110101BCD

10 1001 0111 0101

2 9 7 5 2975 10

EXEMPLO 3: Codificar en BCD o número decimal 24110.

Facemos a conversión de cada cifra da cantidade decimal a

binario en grupos de 4 bits: 2 4 1 10

2 10 = 0 0 1 0 2

4 10 = 0 1 0 0 2 RESULTADO: 2 4 1 10 = 0 0 1 0 0 1 0 0 0 0 0 1 BCD

1 10 = 0 0 0 1 2

EXEMPLO 4: Codificar en BCD o número decimal 3510.

3 5

0011 0101 RESULTADO: 35 10 = 0 0 1 1 0 1 0 1 BCD