1 Electrónica Básica Sistemas de Numeración. Códigos Electrónica Digital José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC 2 SISTEMAS DE NUMERACIÓN Sistemas de numeración: Intuitivamente → son las diferentes formas de representación de los números. Formalmente → conjunto finito de símbolos con unas reglas de asignación de forma que cada una de las posibles combinaciones tiene uno y sólo uno significado posible. 3 SISTEMAS DE NUMERACIÓN En cada sistema de numeración se define una BASE (B) que indica la cantidad de símbolos distintos que usa. Cualquier número N se podrá expresar como un polinomio en función de esa BASE: NB = an·Bn + an-1·Bn-1 + ... + a1·B1 + a0·B0 + a-1·B-1 + ... + am·B-m parte entera parte fraccionaria donde: ai = cifras o guarismos que componen al número N → 0 ≤ ai < B 4 SISTEMAS DE NUMERACIÓN Ej: 87,5410 = 8·101+ 7·100 + 5·10-1 + 4·10-2 Base = 10 → 0 ≤ ai < 10 → ai= 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Ej: 1011,112 = 1·23 + 0·22 + 1·21 + 1·20 + 1·2-1+ 1·2-3 Base = 2 → 0 ≤ ai < 2 → ai= 0, 1 5 SISTEMAS DE NUMERACIÓN Sistema Binario: Utiliza sólo dos símbolos → ai = 0 y 1 → bit (binary digit) B IN 0 1 10 11 100 101 110 111 ... DEC 0 1 2 3 4 5 6 7 ... 101 •Conversión de Binario a Decimal ... •Conversión de Decimal a Binario ... B IN 0 0 00 0 0 01 0 0 10 0 0 11 0 1 00 0 1 01 0 1 10 0 1 11 ... 101 DEC 0 1 2 3 4 5 6 7 ... 6 SISTEMAS DE NUMERACIÓN Sistema Octal: Utiliza 8 símbolos → ai = 0, 1, 2, 3, 4, 5, 6, 7 OCT 0 1 2 3 4 5 6 7 10 11 12 13 ... BIN DEC 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 10 1011 11 ... ... Se usa porque es muy fácil pasar de binario a octal y viceversa ya que 8 = 23 •Conversión de Octal a Binario ... •Conversión de Binario a Octal ... Por tanto, para pasar de octal a decimal o viceversa lo mejor es hacerlo pasando por binario 7 SISTEMAS DE NUMERACIÓN Sistema Hexadecimal: Utiliza 16 símbolos → ai = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F HEX 0 1 2 3 4 5 6 7 8 9 A B C D E F B IN 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 DEC 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Igual que con el sistema octal, con el sistema hexadecimal es muy fácil pasar de hexa a bin y de bin a hexa ya que 16 = 24 •Conversión de Hexa a Bin ... •Conversión de Bin a Hexa ... 1 01 8 CÓDIGOS BINARIOS Código: representación unívoca de cantidades, e.d., a cada cantidad se le asigna una combinación de símbolos determinada. Código Binario: aquel que usa solamente 0 y 1 Si se desea hacer un código binario para codificar N símbolos necesitaremos n bits de tal forma que: 2n-1 < N < 2n Ej: si queremos codificar 5 símbolos necesitamos 3 bits ya que 22 < 5 < 23 Ej: si queremos codificar 10 símbolos necesitamos 4 bits ya que 23 < 10 < 24 PONDERADOS → cada bit tiene un peso determinado Tipos de Códigos NOPONDERADOS → los bits no tienen peso asociado 9 CÓDIGOS BINARIOS Códigos BCD (Binary Codified Decimal - Decimal Codificado en Binario) Como su nombre indica se trata de codificar los números decimales con códigos binarios de tal forma que a cada combinación binaria se le asigna un número decimal. Para codificar los 10 números decimales necesitamos 4 bits ya que 24 = 16 > 10 Binario Natural = 11100001012 → 10 bits BCD = 1001 0000 0001BCD → 12 bits Ej: 90110 9 0 1 En BCD se desperdician bits pero es más fácil Algunos sistemas de codificación Para codificar 10 elementos necesitamos 4 bits, por tanto, con 4 bits podríamos hacer muchísimos códigos (75 106). Sólo veremos los más usados: Dec BCD(8421) Aiken(2421) 0 0000 0000 1 0001 0001 2 0010 0010 3 0011 0011 4 0100 0100 5 0101 1011 6 0110 1100 7 0111 1101 8 1000 1110 9 1001 1111 ponderados Exceso-3 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 Gray 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 no ponderado 10 Algunos sistemas de codificación Códigos Gray Hay aplicaciones que necesitan reconocer la posición de un sistema, (la cabeza de una impresora, un lector de disco o un posicionador) como ejemplo gráfico veamos un disco giratorio que mediante unos contactos eléctricos nos indica su posición. El sombreado significa "1" y la parte diáfana "0" Aquí leemos 110. 11 Algunos sistemas de codificación Códigos Gray Veamos cual es la lectura en un punto de cambio de valor Valor esperado: 110 101 Cualquiera es válido Debido a las posibles imperfecciones del sistema puede que no todos los valores cambien al unísono. Otros valores posibles: 100 ÞPosible error 111 medida 12 Algunos sistemas de codificación Códigos Gray Valor esperado: 000 001 Cualquiera es válido No hay otros valores posibles: ß En este punto no hay error de medida El problema se solucionaría si tan sólo uno de los valores cambiara al modificarse la posición. Esta es la idea que genera los códigos Gray. 13 Algunos sistemas de codificación Códigos Gray Veamos como se genera el código Gray reflejado. En caso de tener dos valores, el problema no existe ya que tendremos: 0 1 Cuando pasamos a cuatro valores añadimos el bit más significativo de la forma común 0 los dos primeros y 1 los siguientes, en cuanto a los menos significativos procedemos a reflejarlos, para valores mayores repetimos el procedimiento. 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0 14 Algunos sistemas de codificación Códigos Gray En este caso cada cambio de posición tan sólo implica un cambio de valor, por lo tanto no hay errores de lectura. 15