1 Representación de datos
2 Temas Representación de datos Operaciones aritméticas Números con signo Operaciones aritméticas Banderas de condición Representación de datos alfanuméricos 2
3 Con n bits, 1 bit representa al signo y n-1Representación en BCS Con n bits, 1 bit representa al signo y n-1 bits a la magnitud n-1 n-2 SIGNO MAGNITUD El bit n-1 (extremo izquierdo) representa sólo al signo Los bits 0 a n-2 la magnitud 3
4 Un 0 en el bit de signo indica que el número Binario con signo Un 0 en el bit de signo indica que el número es positivo Un 1 en el bit de signo indica que el número es negativo Los bits n-2 representan el valor absoluto en binario El rango: -(2n-1 – 1) ceros +(2n-1 – 1) con 2 4
5 Binario con signo (2) Ejemplos +3210= 00100000 +710=00000111+4110= -3210= 32 - 710= -4110= 5
6 Binario con signo (3) Números 11111111 negativos ... Números 01111111Ejemplo: n=8 bits Números negativos Números positivos -(2n-1 – 1)=-127 -0 +(2n-1 –1)=+127 +0 6
7 Binario con signo (4) Ejemplo con n= 3 bits 111 = -3 = -(2n-1 –1)110 = -2 101 = -1 100 = -0 011 = +3 = +(2n-1 – 1) 010 = +2 001 = +1 000 = +0 7
8 Resumen: BCS El intervalo es simétricoEl primer bit sólo indica el signo Los positivos empiezan con cero (0) Los negativos empiezan con uno (1) Hay dos ceros Números distintos: 2n 8
9 El complemento a un número N de un Técnica de Complementos El complemento a un número N de un número A (A menor que N) es igual a la cantidad que le falta a A para ser N Complemento a N de A = N - A El complemento a un número N del número (N-A) es igual a A. Complemento a N de (N-A) = N - (N-A) = A 9
10 En un sistema con n dígitos podemos tener:Técnica de Complementos (2) En un sistema con n dígitos podemos tener: Complemento a la base disminuida si N= basen – 1 En sistema binario es Complemento a 1 ó Ca1 Complemento a la base si N= basen En sistema binario es Complemento a 2 ó Ca2 10
11 Representación en Ca1 Información del signoLos n bits representan al número n-1 Número Información del signo 11
12 Si el número es positivo, los n bits tienenCa1 Si el número es positivo, los n bits tienen la representación binaria del número (como siempre ) Si el número es negativo, los n bits tienen el Ca1 del valor deseado. El Ca1 de un número en base 2 se obtiene invirtiendo todos los bits 12
13 • Los positivos empiezan con cero (0) Ca1 • Los positivos empiezan con cero (0) • Los negativos empiezan con uno (1) • El rango va desde – (2n-1 –1) a +(2n-1 –1) con dos ceros 13
14 Ca1 Ejemplos + +3210= +710= +4110= -3210= -710= -4110= 14
15 Ca1 +(2n-1 –1)=+127 Ejemplo: n=8 bits Números 11111111 negativos ... Números positivos -0 -(2n-1 –1 )=-127 +(2n-1 –1)=+127 +0 15
16 Ca1 Ejemplo con n= 3 bits 111 = -0 110 = -1 101 = -2010 = +2 001 = +1 000 = +0 16
17 Dada una cadena de bits ¿qué número decimal Cuando es positivo:representa si lo interpretamos en Ca1? Cuando es positivo: = 1 x x 25 = 64+32= 96 Como siempre 17
18 Cuando es negativo, puedo hacer dos cosas: Ca1 Cuando es negativo, puedo hacer dos cosas: Ca1 del número y obtengo el positivo Ej. 31 = - = +31 18
19 Otro método: el peso que tiene el primerCa1 Otro método: el peso que tiene el primer dígito ahora es –(2n-1 –1 ) y el resto de los dígitos con pesos positivos como siempre = -1x(27 –1) + 1x26 + 1x25= = = -31 O por definición de Complemento a la base disminuida Ca1 = (bn –1) - No 19
20 Resumen Ca1 El intervalo es simétricoLos n bits representan al número Los positivos empiezan con cero (0) Los negativos empiezan con uno (1) Hay dos ceros Números distintos 2n 20
21 Representación en Ca2 Información del signoLos n bits representan al número n-1 Número Información del signo 21
22 Si el número es positivo, los n bits tienenRepresentación en Ca2 Si el número es positivo, los n bits tienen la representación binaria del número (como siempre) Si el número es negativo, los n bits tienen el Ca2 del valor deseado. El Ca2 de un número (en base 2) se obtiene invirtiendo todos los bits (Ca1) y luego sumándole 1. 22
23 Otra forma: “mirando” desde la derecha seCa2 Otra forma: “mirando” desde la derecha se escribe el número (base 2) igual hasta el primer “1” uno inclusive y luego se invierten los demás dígitos Otra forma: por definición de Complemento a la base Ca2 = bn - No 23
24 • Los positivos empiezan con cero (0) Ca2 • Los positivos empiezan con cero (0) • Los negativos empiezan con uno (1) • El rango es asimétrico y va desde – (2n-1 ) a +(2n-1 –1) • Hay un solo cero 24
25 Ca2 desde la derecha Los dígitos en rojo se copiaron igualEjemplos +3210= - 3210= “mirando” desde la derecha Los dígitos en rojo se copiaron igual Los dígitos en azul se invirtieron 25
26 Ca2 (otra forma ) +3210=00100000 1111 11011111 invierto todos los bitsle sumo 1 -3210= en Ca2 26
27 Ca2 (otra forma) • Ca2 = bn – No = 28 – 32 = =224 • Hagamos la cuenta en base 2 0 11 -32= en Ca2 27
28 Ca2 +(2n-1 –1)=+127 Ejemplo : n=8 bits Números 11111111 negativos ... Números positivos -1 - (2n-1 )= -128 +(2n-1 –1)=+127 +0 28
29 Ca2 Ejemplo con n= 3 bits 111 = -1 110 = -2 101 = -3010 = +2 001 = +1 000 = +0 29
30 Dada una cadena de bits ¿qué número decimal Cuando es positivo:representa si lo interpretamos en Ca2? Cuando es positivo: =1 x x 25 =64+32=96 Como siempre 30
31 Cuando es negativo, puedo hacer dos Ca2 Cuando es negativo, puedo hacer dos cosas: Ca2 el número y obtengo el positivo Ej. = - 32 = +32 31
32 Otro método: el peso que tiene el primerCa2 Otro método: el peso que tiene el primer dígito ahora es –(2n-1) y el resto de los dígitos con pesos positivos como siempre = -1x(27 ) + 1x26 + 1x25 = = -32 32
33 El intervalo es asimétrico, hay un - más Resumen Ca2 El intervalo es asimétrico, hay un - más Los n bits representan al número Los positivos empiezan con cero (0) Los negativos empiezan con uno (1) Hay un solo cero Números distintos 2n 33
34 Técnica del Exceso La representación de un número A es la que corresponde a la SUMA del mismo y un valor constante E (o exceso). Exceso E de A = A + E Dado un valor, el número representado se obtiene RESTANDO el valor del exceso. A = (Exceso E de A) - E El signo del número A resulta de una resta En binario, NO sigue la regla del bit mas significativo 34
35 Exceso 2n-1 Rango si n=6 -2(6-1)= 0000002 2(6-1)-1= 1111112 Exceso 32 -2(n-1) x 2(n-1)-1 Exceso 32 si n=6 -2(6-1)= = 2(6-1)-1= = = 31 010 = = = 0 35
36 V (overflow): en 1 indica una condición deNuevas Banderas aritméticas N (negativo): igual al bit más significativo del resultado. Es 1 si el resultado es negativo V (overflow): en 1 indica una condición de fuera de rango (desborde) en Ca2. El resultado no se puede expresar con el número de bits utilizado. 36
37 Si los Nos son de distinto signo nunca puede haber overflow.Suma en Ca2 Para sumar dos números en Ca2 se suman los n bits directamente. Si sumamos dos números + y el resultado es – ó si sumamos dos – y el resultado es + hay overflow, en otro caso no lo hay. Si los Nos son de distinto signo nunca puede haber overflow. 37
38 Si son del mismo signo nunca hay overflowResta en Ca2 Para restar dos números en Ca2, se restan los n bits directamente. También se puede Ca2 el sustraendo y transformar la resta en suma. Si a un No + le restamos un No – y el resultado es – ó si a un No – le restamos un + y el resultado es + hay overflow en la resta. Si son del mismo signo nunca hay overflow 38
39 Bits de condición para la sumaOperación NZVC Ca2 Sin signo 0100 0010 Los dos resultados son correctos. 39
40 Bits de condición para la sumaOperación NZVC Ca2 Sin signo 0101 0111 1100 -4 overf Ca2 incorrecto, sin signo correcto. 40
41 Bits de condición para la sumaOperación 1101 NZVC 0101 Ca2 -3 Sin signo 13 0011 carry 0 Ca2 correcto, sin signo incorrecto. 41
42 Bits de condición para la sumaOperación 1001 1100 NZVC 0011 Ca2 -7 -4 Sin signo 9 12 1 0101 V +5 C 5 Los dos resultados son incorrectos. 42
43 Bits de condición para la restaOperación NZVC Ca2 Sin signo 1 0101 0111 1110 -2 B 14 Ca2 correcto, sin signo incorrecto. 43
44 Bits de condición para la restaOperación 1001 NZVC 0010 Ca2 -7 Sin signo 9 0100 0101 V +5 5 Ca2 incorrecto, sin signo correcto. 44
45 Suma en BCS 1 001 1 010 Para pensar. -1 -2 45
46 Representación alfanuméricaLetras (mayúsculas y minúsculas) Dígitos decimales (0, ..., 9) Signos de puntuación Caracteres especiales “Caracteres” u órdenes de control 46
47 Ejemplo ¿Cuántos bits? ¿Por qué? @ ... x [ y # # y @ x [ ] ]A cada símbolo un código en binario Ejemplo: x, y, , , [, ] Ocho símbolos 000 001 010 011 100 101 110 111 ¿Cuántos bits? ¿Por qué? @ [ # y x ] x y # @ [ ] 47
48 FIELDATA ASCII 26 letras mayúsculas + 10 dígitos + 28Algunos códigos FIELDATA 26 letras mayúsculas + 10 dígitos + 28 caracteres especiales Total 64 combinaciones Código de 6 bits ASCII American Standard Code for Information Interchange FIELDATA + minúsculas + ctrl Total 128 combinaciones Código de 7 bits 48
49 EBCDIC - Extended BCD Interchange CodeAlgunos códigos (2) ASCII extendido ASCII + multinacional + semigráficos + matemática Código de 8 bits EBCDIC - Extended BCD Interchange Code similar al ASCII pero de IBM Código de 8 bits 49
50 Tabla ASCII 50
51 Una extensión al ASCII 51