Escuela de Ciencias de la Computación – UTPL Fundamentos Informáticos Autoras: Ing. Elizabeth Cadme, Ing. Priscila Valdiviezo ANEXO 2: REPRESENTACION DE LA INFORMACION EN LOS COMPUTADORES SISTEMA DE NUMERACIÓN BASE 2 El sistema de numeración binario es el conjunto de elementos {0, 1} con las operaciones aritméticas (suma, resta, multiplicación) y lógicas (OR, AND y NOT). • Los elementos del conjunto o alfabeto binario se denominan cifras binarias o bits. • El bit del extremo de la derecha es el bit menos significativo o de menor peso • El bit del extremo de la izquierda es el bit más significativo o de mayor peso (MSB). TRANSFORMACIONES DE BASES BINARIA A DECIMAL Transformación de binario a decimal consiste en multiplicar cada uno de los términos por potencias crecientes de 2 a partir de la coma decimal y hacia la izquierda, y realizar la suma de las operaciones. 10101110 0 0*2 = 1 1*2 = 2 1*2 = 3 1*2 = 4 0*2 = 1 0 1 0 1 1 1 02 = 17410 5 1*2 = TRANSFORMACIONES DECIMAL A BASE BINARIA 6 0*2 = Transformación de decimal a binario se va dividiendo la cantidad decimal por 2, 7 2 = apuntando los restos, hasta obtener cociente cero. El último resto1 *obtenido es el bit más significativo (MSB) y el primero es el bit menos significativo (LSB). (Enteros) Ejemplo: convertir a binario 15310 Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - no comercialcompartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/). Escuela de Ciencias de la Computación – UTPL Fundamentos Informáticos Autoras: Ing. Elizabeth Cadme, Ing. Priscila Valdiviezo 15310 = 100110012 Sistema Binario: operaciones aritméticas Suma binaria: Se realiza exactamente igual que en el sistema de numeración decimal teniendo en cuenta que si se excede la base se lleva como acarreo una unidad en la siguiente cifra de orden superior. Resta binaria: Se realiza exactamente igual que en el sistema de numeración decimal teniendo en cuenta que si se excede la base se lleva en la siguiente cifra una unidad de orden superior. Multiplicación binaria: La operación de multiplicación es idéntica a la del sistema decimal teniendo en cuenta las sumas en binario. 1 0 0 1 1 0 1 A B 1 0 0 1 1 0 0 1 R X X 1 1 0 1 1 0 1 1 1 1 0 1 1 1 0 1 A B R Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - no comercialcompartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/). Escuela de Ciencias de la Computación – UTPL Fundamentos Informáticos Autoras: Ing. Elizabeth Cadme, Ing. Priscila Valdiviezo 1 1 0 1 1 0 1 1 0 1 R 1 0 0 0 1 1 1 R División binaria: • Se toma el mismo número de cifras en el dividendo que las que tiene el divisor, si no cabe se toma una más. • Se hace la resta, se baja la siguiente cifra y se sigue el procedimiento. • Los decimales se manejan como en la base decimal. CÓDIGOS INTERMEDIOS Los códigos intermedios se fundamentan en la facilidad de transformar un número en base 2 a otra base que sea una potencia de 2 ( 22=4; 23 =8; 24=16, etc.), y viceversa. Usualmente se utilizan como códigos intermedios los sistemas de numeración en base 8 (u octal) y en base 16 (o hexadecimal). CODIGOS INTERMEDIOS: octal Un número octal puede pasarse a binario aplicando los algoritmos vistos; no obstantes, al ser b=8=23, puede hacerse la conversión fácilmente: Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - no comercialcompartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/). Escuela de Ciencias de la Computación – UTPL Fundamentos Informáticos Autoras: Ing. Elizabeth Cadme, Ing. Priscila Valdiviezo • Decimal Para transformar un número binario a octal Binario se forman grupos de tres cifras binarias a 0 000 1 001 2 010 3 011 4 100 5 101 De octal a binario se pasa sin más que 6 110 convertir individualmente a binario (tres 7 111 partir del punto decimal hacia la izquierda y hacia la derecha. Posteriormente se efectúa directamente la conversión a octal de cada grupo individual. • bits) cada cifra octal, manteniendo el orden del número original • 75032.278 = 111 101 000 011 010 . 010 1112 • 011 000 101 001 111 001 . 101 1002 = 305171.548 CODIGOS INTERMEDIOS: hexadecimal b=16; A = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Cifras hexadecimales y sus valores decimal y binario Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - no comercialcompartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/). Escuela de Ciencias de la Computación – UTPL Fundamentos Informáticos Autoras: Ing. Elizabeth Cadme, Ing. Priscila Valdiviezo Al ser b=16=24, podemos hacer las conversiones de binario a hexadecimal y viceversa en forma análoga al sistema octal. Ahora bien, aquí utilizaremos grupos de 4 bits en lugar de grupos de 3 bits. De la misma forma que manualmente es muy fácil convertir números de binario a octal, y viceversa, y de binario a hexadecimal y viceversa, también resulta sencillo efectuar esta operación electrónicamente o por programa, por lo que a veces la computadora utiliza este tipo de notaciones intermedias internamente o como entrada/salida. N = AC70.3B = 1010 1100 0111 0000 .0011 1011 M = 111 1101 0000 0011. 0111 001 = 7D03.72 Para transformar un número de hexadecimal a decimal se aplica la expresión general con b=16. Para pasar un número de decimal a hexadecimal se hace de forma análoga a los casos binario y octal: la parte entera se divide por 16, así como los cocientes enteros sucesivos, y la parte fraccionaria se multiplica por 16, así como las partes fraccionarias de los productos sucesivos. El código octal se suele utilizar cuando el número de bits a representar es múltiplo de 3, y el hexadecimal cuando dicho número es múltiplo de 4. REPRESENTACIÓN DE TEXTOS • CÓDIGO EBCDIC • CÓDIGO ASCII • UNICODE La información se suele introducir en el computador utilizando el lenguaje escrito: • Caracteres alfabéticos: {A, B, C, D, E,..., X ,Y, Z, a, b, c, d,..., x, y, z} • Caracteres numéricos: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} • Caracteres especiales: { ) ( , * / ; : + Ñ ñ = ! ? . " & > # < ] } • Caracteres de control: representan órdenes de control, como el carácter indicador de fin de línea o el carácter indicador de sincronización de una transmisión o de que se emita un pitido en un terminal, etc. Muchos de los • Caracteres de control son generados e insertados por la propia computadora. Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - no comercialcompartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/). Escuela de Ciencias de la Computación – UTPL Fundamentos Informáticos Autoras: Ing. Elizabeth Cadme, Ing. Priscila Valdiviezo Al tener que "traducir" toda la información suministrada a la computadora a ceros y unos es necesario establecer una correspondencia (codificación) entre 2 conjuntos: 〈≡ {A,B,C,D,...,Z,a,b,...,z,0,1,2,3,...,9,/,+,(,),...} -> de forma tal que a cada elemento de ß {O,1}n le corresponda un elemento distinto de ß (n bits). Estos códigos se denominan códigos de E/S o códigos externos o códigos-texto, y pueden definirse de forma arbitraria. No obstante existen códigos de E/S normalizados que son utilizados por diferentes constructores de computadores: BCD de intercambio normalizado, Fieldata, EBCDIC, ASCII, etc. CODIGOS DE TEXTOS NORMALIZADOS Código "BCD de intercambio normalizado" (standard binary coded decimal interchange code") • Utiliza n=6 bits • se pueden representar m=26=64 caracteres. • A veces se añade a su izquierda un bit adicional para verificar posibles errores en la transmisión o grabación del código (bit de paridad, criterio impar). Código EBCDIC (Extended Binary Coded Decimal Interchange Code) • El código EBCDIC utiliza n=8 bits para representar cada carácter • Permite codificar hasta m=28=256 símbolos distintos CODIGOS DE E/S NORMALIZADOS: ASCII Código ASCII (American Standard Code for Information Interchange). • Utiliza 7 bits y hoy día es de los más usuales. • La mayor parte de las transmisiones de datos entre dispositivos se realizan en esta codificación. • Usualmente se incluye un octavo bit para detectar posibles errores de transmisión o grabación (bit de paridad). CODIGOS DE E/S NORMALIZADOS: Unicode Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - no comercialcompartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/). Escuela de Ciencias de la Computación – UTPL Fundamentos Informáticos Autoras: Ing. Elizabeth Cadme, Ing. Priscila Valdiviezo Unicode (ISO/IEC 10646) es propuesto por un consorcio de empresas y entidades que trata de hacer posible escribir aplicaciones que sean capaces de procesar texto de muy diversas culturas. Propiedades buscadas: Universalidad, trata de cubrir la mayoría de lenguajes escritos existentes en la actualidad: 16 bits -> 65.356 símbolos. Unicidad, a cada carácter se le asigna exactamente un único código (ideogramas con imagen distinta, tienen igual código), y Uniformidad, ya que todos los símbolos se representan con un número fijo de bits (16). Tomado de: Álvarez, S. y computadores [en línea]. Bravo, S. Representación de la información en los Disponible en: http://ocw.usal.es/ensenanzas- tecnicas/aplicaciones-informaticas-para-humanidades/contenidos/Temas/Tema3Representacion_de_la_Informacion_-_2ppt.pdf [consulta 05-06-2009] Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - no comercialcompartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).