Aritmética Binaria.codificación-1 (1)
-
Upload
oscar-ampudia-couto -
Category
Documents
-
view
226 -
download
4
description
Transcript of Aritmética Binaria.codificación-1 (1)
1
U.T.1 [PARTE II] ARIMÉTICA BINARIA.
CODIFICACIÓN
2
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
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
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
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
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
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).
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:
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
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
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
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).
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
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)
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
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.
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
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
(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
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
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
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
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