You are on page 1of 59

Fundamentos de Computadores Representacin y Codificacin Binaria

Objetivos

Conceptuales

Codificacin digital de la informacin Representacin posicional y bases Representacin de nmeros con y sin signo: bit de signo, notaciones en complemento Representacin de nmeros racionales: punto fijo y punto flotante Cdigos binarios Pixel, muestreo y cuantizacin

Objetivos

Procedimentales

Cambios arbitrarios de base. Obtencin e interpretacin de nmeros con signo en diferentes representaciones. Obtencin e interpretacin de nmeros racionales en codificaciones de punto fijo y punto flotante Representacin de cifras BCD en diferentes cdigos binarios Codificacin de caractres alfanumricos y obtencin y comprobacin de la paridad Clculos bsicos sobre codificacin de imagen y sonido

Objetivos

Actitudinales

Comprensin de la naturaleza analgica de las medidas y datos reales Implicaciones de la codificacin digital. Ventajas e inconvenientes

Relacin con el procesamiento digital

Importancia del establecimiento de convenios y estndares

Bibliografa

Bsica:

[GARC92] Especialmente captulos 2 y 3 [FLOY00] Captulo 2 [WAKE94] Captulo 2 [NELS96] Captulo 1 [TAUB83], [KOHA78], [MCCL86], [TOKH90]: Textos clsicos de codificacin binaria:

Complementaria:

Contenidos

Introduccin Representacin posicional de magnitudes Cambios de base Nmeros con signo Nmeros racionales Cdigos binarios Otros tipos de informacin

Introduccin Codificacin digital

Los circuitos digitales trabajan con seales bivaluadas: 0 y 1 Los computadores se emplean para almacenar todo tipo de informacin:

nmeros enteros, reales, texto, grficos, audio, video, etc.

Esta informacin ha de reducirse a su representacin mediante 0 y 1

Codificacin Digital

Definiciones

BIT (b) (BInary digiT): dgito binario. Smbolo que puede ser 0 1. Es la unidad mnima de informacin. PALABRA: conjunto de "n" bits. Tpicamente, 8, 16, 32 64. BYTE (B): Palabra de 8 bits KILOBYTE (KB): 1024 bytes MEGABYTE (MB): 1024 KB = 1048576 B ~ 1000000B GIGABYTE (GB): 1024 MB. A veces se usa como 1000 MB.

Contenidos

Introduccin Representacin posicional de magnitudes Cambios de base Nmeros con signo Nmeros racionales Cdigos binarios Otros tipos de informacin

Rep. posicional. Sistemas de numeracin. Bases

El sistema decimal comn es un sistema de numeracin posicional que emplea 10 smbolos y donde la base es 10:

Smbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

1327=1103310221012100
Pesos: Smbolos: Valor: 1000 100 10 1

1
1000

3
300

2
20

7
7

Suma

1327

Base 2

Los sistemas digitales pueden representar de forma "natural" nmeros en base 2, usando los smbolos {0,1} Ej: 1101 1101=123122021120
Pesos: Smbolos: Valor: 8 4 2 1

1
8

1
4

0
0

1
1

Suma

13

Bases 8 y 16

Base 8 (octal):

{0, 1, 2, 3, 4, 5, 6, 7}

Base 16 (hexadecimal):

{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}

Base b

Lo mismo aplicado a una base genrica b


x: magnitud,

b: base, {xi}: cifras

n: nmero de cifras de la parte entera m: nmero de cifras de la parte fraccionaria


n1

x= x n1b

...x 1b x 0 b x1b x2b ... xm b

Mayor nmero entero representable con n cifras: bn-1 Mayor nmero representable: bn-b-m

Contenidos

Introduccin Representacin posicional de magnitudes Cambios de base Nmeros con signo Nmeros racionales Cdigos binarios Otros tipos de informacin

Cambio de base

Base b a base 10:

Directamente. Basta con hacer las operaciones en base 10.

10,1012=121020121022123 21/ 21/8=2,87510

Base 10 a base b:

Parte entera: dividiendo sucesivamente por la base y tomando los restos Parte decimal: multiplicando sucesivamente por la base y tomando la parte entera

Cambio de base 10 a base b

Parte entera: ejemplo

123 (10

234

(7

1 2 3 5 3 4

7 1 7 3 7 2

Cambio de base

Nmero con parte entera y parte fraccionaria: ejemplo

3,27(10

3(10 = 11(2
0,27 x 2 = 0,54 -> "0" 0,54 x 2 = 1,08 -> "1" 0,08 x 2 = 0,16 -> "0" 0,16 x 2 = 0,32 -> "0" 0,32 x 2 = 0,64 -> "0" 0,64 x 2 = 1,28 -> "1" ...

3,27(10 = 11,010001(2

Cambio entre las bases 2, 8 y 16

Equivalencias con la base 2

8=23

16=24

1 cifra octal -> 3 cifras binarias 1 cifra hexadecimal -> 4 cifras binarias
1 2 7 2

1272

(8

1 0 1 0 1 1 1 0 1 0
2

2BA

(16

Las bases 8 y 16 se emplean como una forma compacta de representar nmeros binarios

Contenidos

Introduccin Representacin posicional de magnitudes Cambios de base Nmeros con signo Nmeros racionales Cdigos binarios Otros tipos de informacin

Representacin de nmeros con signo

Signo-magnitud Exceso Complemento a 1 Complemento a 2

Representacin signo-magnitud
signo magnitud

0 1

1 0

0 1

1 0

1 1

0 0

1 0

0 1

+90 (10 -41 (10

Signo: 0(+), 1(-) Representable con n bits: 2n-1 Representaciones del 0: 00000000, 10000000 2n11 x2n11

Representacin en exceso

Se representa en base 2 el resultado de sumar al nmero el valor del exceso o sesgo. El resultado de sumar el exceso debe ser un entero positivo. Esto define el rango de nmeros representables. Ej: exceso 2n-1 (nmeros de n bits, ej: 8 bits)

-3510 -35+128 = 93 = 01011101exc-128

2n1x2n11

Complemento a la base y a la base menos 1


Definicin: Complemento a b de N
C a b N =b N
n

Definicin: Complemento a b-1 de N


C a b1 N =b nbm N

Donde b: base, N: nmero, n: nmero de dgitos de la parte entera, m: nmero de dgitos de la parte fraccionaria

Complemento a la base y a la base menos 1

Ejemplo base 10: complementar a 10 y a 9 el nmero 39,45 Ejemplo base 2: complementar a 2 y a 1 el nmero 11011,110

Rep. complemento a 1 con n bits

Nmeros positivos

Se representa el nmero en base 2 El primer bit debe ser cero Ej: 2110 = 00010101Ca1 La representacin es el Ca1 del opuesto El primer bit debe ser uno Ej: -2110 = 11101010Ca1

Nmeros negativos

Rep. complemento a 1 con n bits

Representaciones del 0: 00000000, 11111111 Rangos: 2


n1

1 x2

n1

Mtodo operativo para obtener el complemento a 1: se complementan todos los bits.

Rep. complemento a 2 con n bits

Nmeros positivos

Se representa el nmero en base 2 El primer bit debe ser cero Ej: 2110 = 00010101Ca2 La representacin es el Ca2 del opuesto El primer bit debe ser uno Ej: -2110 = 11101011Ca2

Nmeros negativos

Rep. complemento a 2 con n bits

Representacin nica del 0: 00000000 Rango: 2


n1

x2

n1

Mtodo operativo para obtener el complemento a 2: comenzando por el LSB, se conservan los bits a cero y el el primer uno, complementando el resto.

Nmeros con signo. Resumen


x -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 s-m Ca1 1111 1000 1110 1001 1101 1010 1100 1011 1011 1100 1010 1101 1001 1110 0000/1000 0000/1111 0001 0001 0010 0010 0011 0011 0100 0100 0101 0101 0110 0110 0111 0111 Ca2 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111 exc. 2n-1 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Contenidos

Introduccin Representacin posicional de magnitudes Cambios de base Nmeros con signo Nmeros racionales

punto fijo punto flotante

Cdigos binarios Otros tipos de informacin

Nmeros racionales. Representacin en punto fijo

En muchas ocasiones, es necesario almacenar y operar con nmeros que no son enteros. Una opcin para representar nmeros con parte fraccionaria es la Notacin en Punto Fijo:

nmero fijo de bits para representar la parte fraccionaria.

Representacin aproximada: error de aproximacin.

Representacin en punto fijo


x= x n1b n1... x 0b0 x1b1... xmbm
parte entera parte decimal

0 1 1 0 1 1 0 1

No permite representar nmeros muy pequeos o muy grandes No es flexible

Rep. en punto flotante

1.2310

12

x=M B

Equivalente a la notacin cientfica decimal:

M: mantisa, B: base, E: exponente

Flexibilidad: permite representar nmeros muy grandes y muy pequeos Introduce error de cuantizacin

La precisin depende del valor del nmero representado: a mayor valor, menor la precisin.

Punto flotante. Notacin IEEE-754


0 1 8 9 31

1
signo

8
exponente (E*)

23
mantisa (M*)

Base: 2 Signo (1 bit): 0 -> +, 1 -> Exponente (8 bits): sesgado, con un sesgo de 127

E*: valor almacenado E*=1...254 E: exponente real E=E*-127=-126...127

Punto flotante. Notacin IEEE-754


0 1 8 9 31

1
signo

8
exponente (E*)

23
mantisa (M*)

Mantisa (23 bits): normalizada, parte entera = 1


M = 1,bbb...b M* = bbb...b (23 bits)

Punto flotante. Notacin IEEE-754

Mayor nmero representable: Menor nmero representable: Menor nmero positivo representable: Mayor nmero negativo representable:

22

23

127

2223 2127 2
126

126

Punto flotante. Notacin IEEE-754

Algunos casos especiales:


cero: E*=0, M*=0 Infinito: E*=255, M*=0 (s=0 -> +Inf, s=1 -> -Inf) Mantisa no normalizada: E*=0, M0

Punto flotante. Paso a base 10


0 1 8 9 31

1
signo

8
exponente (E*)

23
mantisa (M*)

Se obtiene M a partir de M* y el signo Se obtiene E a partir de E*:

E = E*-127

Se hacen las operaciones

x=M 2

Punto flotante. Paso a base 10

Ejemplo:
0 10010100 10100010000000000000000

signo: 0 -> + Mantisa (M) = 1,1010001(2 = 1,6328125(10 E* = 10010100(2 = 148(10 ; E = E* - 127 = 21

x=1,6328125 2 =3424256

21

Punto flotantes. Paso desde base 10

Se obtiene una estimacin del exponente: E' Se elige como exponente (E) la parte entera de E' Se calcula el valor de la mantisa (M). Se calculan E* y M* y se pasan a binario. Se construye la palabra binaria.

x=M 2

E ' =log 2 x E=ent E ' x M= E 2

Punto flotantes. Paso desde base 10


Ejemplo: +3424256
E ' =log 2 3424256=21.707 E=ent 21.707=21

3424256 M= =1.6328125 21 2

signo + : 0 E* = 127+21 = 148 = 10010100(2 M = 1,6328125 = 1.1010001(2 M* = 101001000...00

0 10010100 10100100000000000000000

Contenidos

Introduccin Representacin posicional de magnitudes Cambios de base Nmeros con signo Nmeros racionales Cdigos binarios Otros tipos de informacin

Cdigos binarios

Asignan palabras binarias a smbolos que se desean representar. Los smbolos son nmeros, letras o cualquier otra entidad que se quiera representar. Normalmente, cada cdigo emplea palabras binarias de longitud fija (p.ej. 8 bits). La asignacin de palabras binarias se suele realizar para obtener alguna propiedad. A veces, no todas las palabras binarias tienen asignado un smbolo.

Cdigos binarios. Binario natural

Asigna cdigos binarios a nmeros enteros positivos. La palabra asignada corresponde a la representacin del nmero en base 2. Ejemplo: cdigo binario natural de 3 bits.

Sim. 0 1 2 3 4 5 6 7

Cod. 000 001 010 011 100 101 110 111

Cdigos binarios. Cdigos BCD (Binary Coding Decimal)

Asignan cdigos binarios a las 10 cifras decimales.


Cifra 0 1 2 3 4 5 6 7 8 9 natural 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 exceso-3 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 2 de 5 00011 00101 00110 01001 01010 01100 10001 10010 10100 11000 7 segm. abcdefg 1111110 0110000 1101101 1111001 0110011 1011011 1011111 1110000 1111111 1110011

a f g e d b c

Cdigos binarios. Cdigo Gray

Asigna cdigos binarios a nmeros enteros positivos. La asignacin se realiza de modo que palabras consecutivas se diferencia nicamente en 1 bit (distancia 1) El cdigo de n bits se construye de forma simtrica a partir del cdigo de n-1 bits

Cdigos binarios. Cdigo Gray


Nmero 0 1 2 3 4 5 6 7 8 9 10 11 ... 1 bit 0 1 2 bits 00 01 11 10 3 bits 000 001 011 010 110 111 101 100 4 bits 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 ...

Cdigos binarios. Cdigo one hot

Asigna palabras con un solo bit a 1 y el resto a 0 Ventajas:


fcil de interpretar. deteccin de errores

Desventaja: requiere un gran nmero de bits (igual al nmero de smbolos)

Sim. 0 1 2 3 4 5 6 7

Cod. 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000

Cdigos binarios. Codificacin de texto

A cada smbolo de texto o carcter se asigna un nmero que se almacena en binario. Adems de smbolos grficos se incluyen smbolos de control: nueva lnea, nueva pgina, fin de fichero, etc. Existen varios asignamientos llamados "codificaciones".

Cdigos binarios. Codificacin de texto. Codificaciones

ASCII (American Standard Code for Information Interchange) (ISO-646-IRV): 7 bits (128 smbolos), el ms extendido, pensado para el Ingls ISO-8859-1 (Latin 1): Extensin del ASCII, 8 bits (256 smbolos), incluye las lenguas de Europa occidental y otras. ISO-8859-15 (Latin 9): Modificacin del Latin 1 para incorporar el smbolo del EURO y otras actualizaciones. ISO-8859-2 a ISO-8859-14: Extensiones del ASCII para diferentes lenguas: cirlico, rabe, griego, hebreo, etc. ISO-10646 (Unicode): cdigo de 16 bits que engloba a todas las codificaciones e idiomas conocidos.

ASCII
0 00 NUL 1 01 SOH 2 02 STX 3 03 ETX 4 04 EOT 5 05 ENQ 6 06 ACK 7 07 BEL 8 08 BS 9 09 HT 10 0A LF 11 0B VT 12 0C FF 13 0D CR 14 0E SO 15 0F SI 16 10 DLE 17 11 DC1 18 12 DC2 19 13 DC3 20 14 DC4 21 15 NAK 22 16 SYN 23 17 ETB 24 18 CAN 25 19 EM 26 1A SUB 27 1B ESC 28 1C FS 29 1D GS 30 1E RS 31 1F US 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F SPC ! " # $ % & ' ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ 96 60 ` 97 61 a 98 62 b 99 63 c 100 64 d 101 65 e 102 66 f 103 67 g 104 68 h 105 69 i 106 6A j 107 6B k 108 6C l 109 6D m 110 6E n 111 6F o 112 70 p 113 71 q 114 72 r 115 73 s 116 74 t 117 75 u 118 76 v 119 77 w 120 78 x 121 79 y 122 7A z 123 7B { 124 7C | 125 7D } 126 7E ~ 127 7F DEL

Extensiones ISO-8859-1 (Latin 1)


160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF

Contenidos

Introduccin Representacin posicional de magnitudes Cambios de base Nmeros con signo Nmeros racionales Cdigos binarios Otros tipos de informacin

Imgenes Sonido

Imgenes

Los ordenadores componen imgenes mediante el dibujo de puntos de distinto color llamados "pixel" El color de cada punto se codifica con un nmero binario de un nmero determinado de bits. El nmero de bits empleado se llama "profundidad de color".

pixel

Ej. 8 bits, 16 bits, 24 bits (color verdadero).

Imgenes

Imgenes Codificacin del color

Un determinado color se forma componiendo tres colores primarios en distintas intensidades:


RGB 0 0 0 negro 255 255 255 blanco 255 0 0 rojo intenso 255 255 0 amarillo 192 192 255 azul claro 255 128 0 naranja

ROJO (R), VERDE (G) AZUL (B)

Con 24 bits:

8 bits para cada color, 256 valores (0 ... 255)

Imgenes. Canales de color

canal rojo canal verde

canal azul

Sonido

El sonido se representa por una curva de amplitud (presin, seal elctrica, etc.) frente al tiempo. Codificacin digital:

Muestreo: se toma el valor de la seal a intervalos regulares. Frecuencias tpicas de muestreo (Hz): 11025, 22050, 44100 Cuantizacin: la amplitud se representa con un nmero determinado de bits. Ej. 8, 16 bits.

Sonido Codificacin del sonido

...

22344 19233 8132

-6984 -15864 . . .

La calidad ser mayor cuanto mayor sea la frecuencia de muestreo y el nmero de bits por muestra Ejemplo: calidad CD: 44100Hz, 16 bits/muestra