UD1.- Representación de la información.pdf

Document Details

StatuesqueDemantoid

Uploaded by StatuesqueDemantoid

Tags

computer science informatics information technology

Full Transcript

Representación de la información Informática es una palabra de origen francés formada por la contracción de los vocablos información y automática. La Real Academia Española de la lengua define la informática como el conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento au...

Representación de la información Informática es una palabra de origen francés formada por la contracción de los vocablos información y automática. La Real Academia Española de la lengua define la informática como el conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por medio de ordenadores. La informática, como disciplina, avanza gracias a la utilización de las metodologías seguidas para los desarrollos de tipo teórico y de tipo experimental, así como para el diseño de sistemas, por lo que puede considerarse tanto una ciencia como una ingeniería. La disciplina de informática es el cuerpo de conocimiento que trata del diseño, análisis, implementación, eficiencia y aplicación de procesos que transforman la información. La palabra informática suele utilizarse como sinónimo de ciencia e ingeniería de los computadores (en inglés, Computer Science and Engineering), utilizándose habitualmente esta última terminología en los países anglosajones. Computador, computadora u ordenador es una máquina capaz de aceptar unos datos de entrada, efectuar con ellos operaciones lógicas y aritméticas, y proporcionar la información resultante a través de un medio de salida; todo ello sin intervención de un operador humano y bajo el control de un programa de instrucciones previamente almacenado en el propio computador. Se entiende por operaciones lógicas funciones tales como comparar, ordenar, seleccionar o copiar símbolos, ya sean numéricos o no numéricos. 1. Introducción. Un computador puede considerarse como un sistema cuyas salidas o resultados son función (dependen) de sus entradas, constituidas por datos e instrucciones. Considerando la definición de computador, se puede decir que informática o ciencia e ingeniería de los computadores es el campo de conocimiento que abarca todos los aspectos del diseño y uso de los computadores. En la definición de computador se ha utilizado el término datos, que es conveniente precisar. Un dato es un conjunto de símbolos utilizado para expresar o representar un valor numérico, un hecho, un objeto o una idea; en la forma adecuada para ser objeto de tratamiento. Es decir, en informática el concepto de dato es mucho más amplio que el que se suele utilizar en Física o en Matemáticas. No sólo es dato una temperatura (25º C), una altura (38.5 m.), o una medida experimental, sino que también lo es, en informática, una matrícula de coche (7784 BBZ), el nombre de un individuo (Laura Núñez Prieto) o una frase de un libro. Los datos pueden ser captados directamente por el computador (por ejemplo, detectando electrónicamente un sonido o fonema, una temperatura, la silueta de una figura, o el paso de un objeto), o pueden ser dados en forma de letras y números (grafismos). Los grafismos (caracteres) resultan muy útiles, dada la gran variedad de informaciones que con ellos se puedan representar. De hecho esta es una de las formas más habituales de transmitir, comunicar o almacenar información en la sociedad actual: el lenguaje escrito. Los grafismos utilizados normalmente en informática son los caracteres numéricos (las diez cifras decimales), los caracteres alfabéticos y los caracteres especiales (símbolos ortográficos, aritméticos y otros). Cualquier información (datos o instrucciones) puede expresarse utilizando caracteres, y así ser introducida en el computador. De igual forma, usualmente el computador nos proporciona los resultados en forma escrita, utilizando caracteres. Frecuentemente las salidas de un programa (como, por ejemplo, los resultados de un cálculo matemático, o de la búsqueda de un nombre), se denominan también datos (datos de salida), pudiendo eventualmente utilizarse estos como datos de un programa posterior. Es decir, la palabra dato se utiliza como contraposición a instrucción. El computador actúa con dos tipos de informaciones: instrucciones (que indican a la máquina qué es lo que tiene que hacer) y datos (que son los elementos que procesa o genera el programa). En informática es frecuente codificar la información. Codificación es una transformación que representa los elementos de un conjunto mediante los de otro, de forma tal que a cada elemento del primer conjunto le corresponda un elemento distinto del segundo. Ejemplos de códigos son: El código postal asociado a los distritos postales de un estado. El código de enfermedades definido por la Organización Mundial de la Salud (OMS). A cada enfermedad se le asigna un código. El número de un carné de identidad. A cada persona se le asocia un número, pudiendo referirse administrativamente a ella por medio de ese código. Con los códigos se puede comprimir y estructurar la información. La identificación de un coche por su matrícula (que es un código más) es más corta que hacerlo, por ejemplo, por el nombre de su propietario, su marca, color y fecha de compra. Pueden definirse códigos con significado, así los códigos postales no se dan al azar, sino que, por ejemplo en la Unión Europea, la letra inicial corresponde al estado (E, España), las dos primeras cifras a la provincia (por ejemplo, 18 Granada) y el resto de las cifras al distrito postal, dentro de la provincia. Como se verá en el punto 2, en el interior de los computadores la información se almacena y se transfiere de un sitio a otro según un código que utiliza sólo dos valores (un código binario) representados por 0 y 1 (Figura 1.2). En la entrada y salida del computador se efectúan automáticamente los cambios de código oportunos para que en su exterior la información sea directamente comprendida por los usuarios. Todos los aspectos relativos a la representación de la información, tanto en el exterior como en el interior del computador se detallan en el punto 2. La unidad más elemental de información es un valor binario, conocido como bit. El origen de este término es inglés, y se suele considerar que procede de la contracción de las palabras BInary y digiT. Un bit es, por tanto, una posición o variable que toma el valor 0 ó 1. Obviamente la capacidad mínima de almacenamiento de información en el interior de un computador es el bit, pudiéndose medir la capacidad de memoria de un computador en bits (en la práctica no se hace así, por ser el bit una unidad excesivamente pequeña). El bit representa la información correspondiente a la ocurrencia de un suceso de entre dos posibilidades distintas. Por ejemplo, un bit es la cantidad de información correspondiente a un mensaje anunciando si determinado caballo ha ganado (1) o no (0) una carrera. Anteriormente se indicó que la información se representa por medio de caracteres y que internamente se codifica en un alfabeto binario; es decir, en bits. Por tanto a cada carácter le corresponde cierto número de bits. Un byte es un conjunto de 8 bits considerado como una unidad. Tradicionalmente un byte era el número de bits necesarios para almacenar un carácter, pero en la actualidad se considera como sinónimo de grupo de 8 bits u octeto. La capacidad de almacenamiento de un computador o de un soporte de información (tal como un disco o cinta magnética) se suele medir en múltiplos de bytes. Como el byte es una unidad relativamente pequeña, es usual utilizar los múltiplos que se indican en la Tabla 1.1, que son similares a los utilizados en física, pero con la diferencia de que son potencias enteras de 2, o tomando como punto de partida el kilo, potencias de 1.024 en lugar de potencias de 1.000. MÚLTIPLOS Prefijo Símbolo Factor decimal Factor binario (Nº de Bytes) Kilo- K- 1000 = 10 1 3 1024 = 2 1 10 = 1.024 Mega- M- 1000 = 10 2 6 1024 = 2 2 20 = 1.048.576 Giga- G- 1000 = 10 3 9 1024 = 2 3 30 = 1.073.741.824 Tera- T- 1000 = 10 4 12 1024 = 2 4 40 = 1.099.511.627.776 Peta- P- 1000 = 10 5 15 1024 = 2 5 50 = 1.125.899.906.842.624 Exa- E- 1000 = 10 6 18 1024 = 2 6 60 = 1.152.921.504.606.846.976 Zetta- Z- 1000 = 10 7 21 1024 = 2 7 70 = 1.180.591.620.717.411.303.424 Yotta- Y- 1000 = 10 8 24 1024 = 2 8 80 = 1.208.925.819.614.629.174.706.176 Tabla 1.1. Múltiplos y submúltiplos establecidos para medidas por el SI (Système Internacional d’Unités). Los prefijos (K-, M-, G-, T-, P- y E-) no sólo se utilizan con bytes, sino también con otras unidades internas de información. Así, 1 Gb (o Gigabit) son 1.073.741.824 bits. En general, utilizaremos de aquí en adelante una “b” (minúscula) para indicar bit y una “B” (mayúscula) para indicar byte.  Reflexiona ¿Cuántas películas caben en un disco duro de 1 TB si cada una ocupa 800 MB? Si tenemos un disco duro de 250 GB y está lleno con 75.000 fotos, ¿Cuánto ocupa cada foto de media? Mostrar retroalimentación ¿Cuántas películas caben en un disco duro de 1 TB si cada una ocupa 800 MB? 10 10 10 20 Como 1 TB = 2 GB = 2 2 MB = 2 MB al dividir por 800 MB (que es lo que ocupa cada una) nos queda 1.310,72, por lo que caben 1.310 películas. Si tenemos un disco duro de 250 GB y está lleno con 75.000 fotos, ¿Cuánto ocupa cada foto de media? Basta aplicar la regla de tres: 250 GB son a 75.000 fotos, así 1 foto ocupará 250 GB/75000 = 0,003333 GB = 3,41333 MB 2. Representación interna de la información Como hemos visto en el punto primero, un computador es una máquina que procesa información (un conjunto de instrucciones que se ejecutan sobre un conjunto de datos). Suministramos información a la máquina mediante símbolos (caracteres). Podemos dividirlos en cinco categorías: 1. Caracteres alfabéticos: {a,b,...,z,A,B,...,Z }. 2. Caracteres numéricos: {0,1,...,9 }. 3. Caracteres especiales: {(, ) ,*,+,-, ?, ... }. 4. Caracteres de control: {fin de línea, carácter de sincronización, avance página, pitido,... }. 5. Caracteres gráficos: { ù, ,,ª,ì,... } A todos los caracteres de los grupos primero y segundo se les denomina caracteres alfanuméricos y a los de los grupos primero, segundo y tercero, caracteres de texto. Debido a que en la representación interna de la información en los computadores sólo disponemos de ceros y unos, la comunicación humano-máquina se debe establecer a través de una correspondencia entre n el conjunto de todos los caracteres, a={a,...,z, A,...,Z,0,...,9,*,+,...}, y un conjunto b={0,1} (es decir, todas las posibles secuencias de ceros y unos de longitud n). Esta correspondencia establece un código de entrada/salida. Al proceso de asignar a cada uno de los caracteres una secuencia de ceros y unos se le denomina codificación. En principio, esta correspondencia es arbitraria, pero existen códigos normalizados, reconocidos como estándar en la comunidad internacional. Cuando la máquina va a realizar operaciones aritméticas, habrá que hacer una segunda correspondencia n m entre b={0,1} y g={0,1} (representación interna para operaciones aritméticas). Este segundo código estará basado en el sistema de numeración posicional en base dos, y ya no es arbitrario, sino que seguirá unas reglas por las cuales podremos saber el número representado sin necesidad de tener una tabla de correspondencias exhaustiva, como exigen los códigos de E/S. Cuando representemos datos en este segundo código (lo usaremos para números enteros y reales, básicamente), hablaremos de datos en formato de representación interna. 2.1. Sistemas de numeración usuales en informática En la representación interna se utiliza un código binario natural que es distinto del código de E/S. También se utilizan los códigos octal y hexadecimal como códigos intermedios (los cuales son una simplificación por la que se representan secuencias de ceros y unos abreviadamente, que son más próximos a nuestro sistema decimal, y que permiten traducir rápidamente a y desde binario). 2.1.1. Representación posicional de los números Un sistema de numeración posicional en base b usa b símbolos distintos (o cifras), y cada posición tiene un peso específico. Así, cada número se representará como una secuencia de cifras, contribuyendo cada una de ellas con un valor que dependerá de: La cifra en sí. La posición de la cifra dentro de la secuencia.  Actividad Ejemplo 1: Supongamos que la base b es 10. El conjunto de símbolos será: {0,...,9}. Vemos que el número 3278,52 puede verse como: 3 2 1 0 -1 3278,52 = 3000 +200 +70 + 8 + 0,5 + 0,02 = 3 · 10 + 2 · 10 + 7 · 10 + 8 · 10 + 5·10 + 2·10 -2 La base 10 es la que estamos acostumbrados a utilizar. Pero puede utilizarse cualquier b. Nosotros, en particular, estaremos interesados en las siguientes bases, sobre todo: Base 2 (b=2): Sistema binario natural. El alfabeto de símbolos será {0,1} Base 8 (b=8): Sistema octal. El alfabeto de símbolos será {0,...,7} Base 10 (b=10): Sistema decimal. El alfabeto de símbolos será {0,...,9} Base 16 (b=16): Sistema hexadecimal. El alfabeto de símbolos será {0,...,9,A,...,F} El sistema binario Los circuitos digitales internos que componen las computadoras utilizan el sistema de numeración Binario para la interpretación de la información y codificación de la misma. El sistema decimal de numeración que usamos en la vida diaria es de difícil empleo en las computadoras, ya que para representar los números y trabajar con ellos son necesarios diez símbolos: 0 1 2 3 4 5 6 7 8 9 Los circuitos de una computadora que trabajara con el sistema decimal deberían ser capaces de distinguir entre diez valores o posiciones de funcionamiento distintas. Esto exigiría una precisión difícil de conseguir, por lo que se ha elegido un sistema de numeración que simplifica mucho el diseño de los circuitos, porque exige sólo dos estados o posiciones de funcionamiento. El sistema binario utiliza sólo dos signos: 0 1 Estos son mucho más fáciles de representar en el interior de una computadora, donde estas dos cifras se pueden asociar perfectamente a los dos posibles estados que pueden adoptar los circuitos o componentes electrónicos: apagado y encendido. La presencia de una corriente eléctrica = 1 (encendido) y la ausencia = 0 (apagado). Cuando la corriente eléctrica pasa a través de la computadora, ésta lee un 1 cuando percibe la corriente eléctrica y un 0 cuando no hay corriente eléctrica (los ordenadores no trabajan exactamente así, se explica de esta manera para su entendimiento). A las cifras o símbolos binarios les denominaremos, por convención, bits:bit cero = 0; bit uno = 1 La palabra «bit» es una contracción de las palabras inglesas binary digit, dígito binario. El bit es la unidad más pequeña de información. Aislado, nos permite distinguir sólo entre dos posibilidades: sí-no, blanco-negro, abierto-cerrado, positivo-negativo. Permite sólo dar dos respuestas a una pregunta, sin matices. La combinación de estos dos símbolos un determinado número de veces permite la codificación de toda la información posible. Si codificamos una serie de bits dándole a cada uno un significado según nuestro deseo, el conjunto de bits representa un conjunto de información. Por consiguiente, si sustituimos el valor dado a cada bit por otro, tendremos que una misma combinación de bits queda modificada en cuanto al significado: Con un solo bit, se representan dos informaciones o estados (2¹). Con dos bits (2²), obtenemos cuatro combinaciones de información (00,01,10,11). Con tres bits (2³), ocho combinaciones de información (000,001,010,011,100,101,110,111). 4 Con cuatro bits (2 ), dieciséis combinaciones de (0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111). información n Con n bits, (2 ) combinaciones de información. Si deseamos representar cada letra del alfabeto mediante una combinación de bits, necesitamos que cada 5 letra esté representada por lo menos por 5 bits (2 = 32). Si, además, deseamos abarcar todos los signos gráficos y las letras, tanto minúsculas como mayúsculas, necesitaremos por lo menos una combinación 7 de 7 bits (2 = 128). El sistema Octal El sistema numérico en base 8 se llama octal y utiliza los dígitos 0 a 7. Los números octales pueden construirse a partir de números binarios agrupando cada tres dígitos consecutivos de estos últimos (de derecha a izquierda) y obteniendo su valor decimal. Por ejemplo, el número binario para 74 (en decimal) es 1001010 (en binario), lo agruparíamos como 1 001 010. De modo que el número decimal 74 en octal es 112. En informática, a veces se utiliza la numeración octal en vez de la hexadecimal. Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos. Sin embargo, para trabajar con bytes o conjuntos de ellos, asumiendo que un byte es una palabra de 8 bits, suele ser más cómodo el sistema hexadecimal, por cuanto todo byte así definido es completamente representable por dos dígitos hexadecimales. El sistema hexadecimal Este sistema requiere el uso de 16 símbolos, siendo formado por los mismos empleados en el sistema decimal y seis letras del alfabeto arábico comprendidas entre A y F. Dado que las computadoras usualmente agrupan conjuntos de bits en múltiplos de cuatro este sistema permite representar a cada grupo con un simple símbolo. Por ello es que es tan usado en estos días. En la tabla de abajo se muestra la relación entre los sistemas. Decimal Binario Octal Hexa 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 2.1.2. Conversiones entre los sistemas binario y decimal Conversión de decimal a binario. 1. Parte entera: Simplemente vamos dividiendo por la base el número original, sin decimales (parte entera), y vamos repitiendo el procedimiento para los cocientes que vamos obteniendo. Los restos de estas divisiones y el último cociente son las cifras buscadas (observar que siempre deberán estar entre 0 y b-1). El último cociente es el dígito más significativo, y el primer resto el menos significativo. 2. Parte fraccionaria: Vamos multiplicando por la base la parte fraccionaria del número original, y sucesivamente repetimos el procedimiento con las partes fraccionarias de los números obtenidos. La secuencia de dígitos que vamos obteniendo es la representación en base b buscada de la parte fraccionaria del número. Ejemplo 2 Vamos a pasar el número 77,1875(10 a base 2: a) Cogemos la parte entera, vamos dividiendo por la base, y tenemos en cuenta los dígitos del resto, así como el último cociente:  Conversión en base 2  Conversión en base 2 Luego la parte entera seria Nentera=77(10=1001101(2 NOTA: Para mandar al aula virtual cuentas similares, en los ejercicios que así lo precisen, lo haremos en una tabla como la siguiente, en la que iremos poniendo los sucesivos cocientes y restos: 77 Cocientes 38 19 9 4 2 Resto 1 0 1 1 0 0 1 Y como antes tomaremos el último cociente (1 en este caso) y leeremos los restos de derecha a izquierda. a) Ahora cogemos la parte decimal, la vamos multiplicando por la base y vamos teniendo en cuenta los dígitos enteros resultantes. Para el paso siguiente, obviamente, sólo tendremos en cuenta la parte fraccionaria resultante. 6 1 0 -1 -2 -3 Es decir: 77,1875(10=1001101, 00112 = 1*2 +…+0.2 +1.2 +0.2 +0.2 +1.2 +1.2 -4 Otra forma de transformar entre binario y decimal Otra manera de convertir un número de decimal a binario es la siguiente: 0 1 2 3 1.- Escribe una tabla con las potencias de dos (2 , 2 , 2 , 2 ...) hasta llegar a un número mayor que el buscado. Por ejemplo para el número 180 sería: 256 128 64 32 16 8 4 2 1 2.- Asignamos un 1 a la penúltima potencia escrita. En nuestro ejemplo: 256 128 64 32 16 8 4 2 1 1 3.- Restamos a nuestro número inicial el valor de dicha potencia. Es decir 180-128=52 4.- Buscamos ahora en la tabla la potencia inmediatamente menor o igual al número obtenido en el punto anterior, y asignamos un 1 en dicha potencia y un 0 a los números entre este 1 y el anterior. Para nuestro ejemplo: 256 128 64 32 16 8 4 2 1 1 0 1 5.- Restamos al número obtenido en el punto 3 el valor de la potencia del punto anterior. Es decir 52-32=20 6.- Buscamos ahora en la tabla la potencia inmediatamente menor o igual al número obtenido en el punto anterior, y asignamos un 1 en dicha potencia y un 0 a los números entre este 1 y el anterior. Para nuestro ejemplo: 256 128 64 32 16 8 4 2 1 1 0 1 1 7.- Restamos al número obtenido en el punto 5 el valor de la potencia del punto anterior. Es decir 20-16=4 8.- Buscamos ahora en la tabla la potencia inmediatamente menor o igual al número obtenido en el punto anterior, y asignamos un 1 en dicha potencia y un 0 a los números entre este 1 y el anterior. Para nuestro ejemplo: 256 128 64 32 16 8 4 2 1 1 0 1 1 0 1 7.- Restamos al número obtenido en el punto 7 el valor de la potencia del punto anterior. Es decir 4-4=0 8.- Como ya nos da cero, hemos acabado. Por tanto el número 180 en binario es: 10110100 De esta misma forma, utilizando la tabla de potencias de 2, también podemos realizar la operación inversa. Por ejemplo para calcular en decimal en número 110001011 sería simplemente sumar las potencias de dos donde tenemos un 1: 256 128 64 32 16 8 4 2 1 1 1 0 0 0 1 0 1 1 Por tanto: 256+128+8+2+1=395. Luego el número 110001011=39510 Unidad 2.1.3 Conversiones entre sistemas de numeración  Conversiones entre los sistemas de numeración Conversión de decimal a octal. Se hace de la misma manera que cuando pasábamos de decimal a binario pero dividiendo y multiplicando ahora por la base b=8. Ejercicio de autoevaluación : PasarPasar el número 324,375(10 a base 2. Mostrar retroalimentación Conversión de decimal a hexadecimal. Se hace también de modo análogo a como lo hemos hecho en el octal. Ejercicio de autoevaluación : Pasar el número 324,375(10 a base 16. Mostrar retroalimentación Conversión de binario a decimal. Simplemente aplicaremos la fórmula vista anteriormente, tomando b=2. Ejemplo 3: Obtener el valor decimal de N = 111000101,0011(2 (siendo ese 2 la base; utilizaremos a menudo esta notación para indicar en qué base debemos interpretar la secuencia de números). 8 7 6 5 4 3 2 1 0 -1 -2 N = 1×2 + 1×2 + 1×2 + 0×2 + 0×2 + 0×2 + 1×2 +0×2 +1×2 + 0×2 + 0×2 453,1875(10 Ejercicio de autoevaluación : Obtener el valor decimal de 110,01(2 Mostrar retroalimentación Conversión de octal a decimal. Se hace como se explicó en el apartado 2.1, utilizando la fórmula de conversión. Ejercicio de autoevaluación : Obtener el valor decimal de 376,3(8 Mostrar retroalimentación -3 + 1×2 -4 + 1×2 = Conversión de hexadecimal a decimal. Se hace igual que en la base octal, y que en cualquier otra base: Ejercicio de autoevaluación: Obtener el valor decimal de 23C,A(16 Mostrar retroalimentación Conversión de binario a octal. Partimos el número binario en grupos de tres dígitos, a derecha e izquierda de la coma. Cada dígito octal es igual al valor decimal de los grupos de 3 dígitos. RECUERDA: Un dígito octal por cada 3 binarios. Ejercicio de autoevaluación: Conversión de 10110010,11100001(2 a octal. Mostrar retroalimentación Conversión de octal a binario. Cada dígito octal se sustituye por 3 binarios. Ejercicio de autoevaluación: Conversión de 376,3(8 a binario. Mostrar retroalimentación Conversión de binario a hexadecimal. Partimos el número binario en grupos de 4 dígitos a derecha e izquierda de la coma. Cada dígito hexadecimal es igual al valor decimal de los grupos de cuatro dígitos. RECUERDA: Un dígito hexadecimal por cada 4 binarios. Ejercicio de autoevaluación: Conversión de 10110111001101,101011(2 a hexadecimal. Mostrar retroalimentación Conversión de hexadecimal a binario. Cada dígito hexadecimal se sustituye por 4 binarios. Ejercicio de autoevaluación: Conversión de 27CB,0A(16 a binario. Mostrar retroalimentación Conversión de octal a hexadecimal y viceversa. Se convierte primero el número a binario y luego a hexadecimal o a octal según corresponda. Ejercicio de autoevaluación: Conversión de 373,6(8 a hexadecimal. Ejercicio de autoevaluación: Conversión de 6A,D(16 a octal. Mostrar retroalimentación 2.2 Operaciones Logicas Las funciones lógicas pueden ser muy complejas, pero siempre van a ser una combinación de las tres operaciones lógicas básicas. Multiplicación lógica Suma lógica Negación o inversión lógica Multiplicación lógica o intersección. También conocida como AND (la conjunción y en inglés). 0·0=0 0·1=0 1·0=0 1·1=1 Resumiendo, el resultado siempre dará 0 a menos que ambas variables valgan 1; esto sucede porque como se explicó anteriormente hay sólo dos variables 0 y 1 por consiguiente al multiplicar 1·1 nos da como resultado 1. (Equivale a la multiplicación) Hay que tener muy en cuenta que no estamos haciendo una multiplicación binaria sino una AND o multiplicación lógica. Equivale al producto lógico S = A · B y se corresponde con la siguiente tabla de la verdad (para tres entradas) y al siguiente circuito eléctrico. Pasa la corriente (1) si y sólo si todas las puertas están cerradas (1). Ejemplo: 3 AND 10 será igual a 2 0011 AND 1010 es como hacer la AND bit a bit, es decir: Primer bit: 1 AND 0 = 0 Segundo bit: 1 AND 1 = 1 Tercer bit: 0 AND 0 = 0 Cuarto bit: 0 AND 1 = 0 Resultado: 0010 Suma lógica o unión. También conocida como OR (o). 0·0=0 0·1=1 1·0=1 1·1=1 Resumiendo, el resultado arrojado será siempre 1 si al menos una de las variables tiene por valor 1. Pasa la corriente (1) si alguna de las puertas está cerrada (1). Negación lógica. También conocida como NOT (no). El NOT es una inversión del valor como se ve. (Equivale a restar el valor inicial de 1)  Ejercicio Resuelto Realiza el AND y el OR de los siguientes pares de números binarios. a) 11010 y 01110 b) 11111 y 10101 c) 11111 y 00000 Mostrar retroalimentación 14. Realiza el NOT de los siguientes números binarios: a) 11111111 b) 10010001 c) 00000000 Mostrar retroalimentación 2.3. Códigos de entrada/salida Dado un conjunto a = {0,1,...,9,A,...,Z ,*,”,%,...}, se le asocia a cada carácter una combinación de ceros y unos n n (bits) del conjunto b = {0,1} (2 posibles secuencias distintas de ceros y unos). Un código de E/S es una correspondencia entre los conjuntos a y b. El cardinal (número de elementos) de a, que llamaremos m = |a|, dependerá del dispositivo de E/S utilizado (por ejemplo, un teclado normal necesitará más símbolos que un teclado sólo numérico). n Se necesitará que n sea el menor número tal que 2 sea mayor que el número de caracteres que queramos codificar (m = |a|). Por ejemplo, para codificar las diez cifras decimales, necesitaremos 4 bits como 4 3 mínimo (una por cifra), puesto que 2 > 10 y 2 < 10 y por tanto con tres bits no podremos codificar los diez dígitos del sistema decimal. La asignación de códigos es arbitraria, y por tanto cada fabricante podría asignar una combinación diferente al mismo carácter. Para evitarlo, se crean códigos que normalicen esta situación, y que se aceptan entre toda la comunidad informática como estándares. Veremos los más importantes, el primero numérico y los siguientes alfanuméricos. 1. Código BCD natural(BCD=Binary Coded Decimal, Decimal Codificado en Binario). Es un código numérico. Se usa en los displays de aparatos electrónicos. En ocasiones resulta útil tener la representación binaria de cada cifra decimal. El código BCD convierte cada dígito decimal a binario. Pero, ¿cuántos bits nos hacen falta? Como existen 3 10 cifras, del 0 al 9, necesitamos 4 bits por cifra (con 3 nos quedaríamos cortos, ya que 2 =8). Con 4 bits 4 podríamos codificar hasta 16 cifras (2 =16). Hay 6 combinaciones que nunca se utilizan en el BCD (del 1010 al 1111). Ejemplo 4: 1. Representar el número decimal 37,6 en el código BCD: 00110111,0110 2. El valor decimal del código BCD 1001010011,011 es: 253,6 3. Representar el número decimal 127,25 en código BCD: 000100100111,00100101 4. El valor decimal del código BCD 010001011000,0011 es: 458,3 2. Código ASCII (American Standard Code for Information Interchange, Código Estadounidense Estándar para el intercambio de información). Es el más ampliamente utilizado. Tiene una longitud de siete bits (n=7) por símbolo, a la que a veces se añade, en algunos sistemas, otro bit más (bien para comprobar errores mediante paridad, o bien para doblar el número de caracteres representables de 128 a 256, y así añadir un amplio conjunto de caracteres gráficos, por ejemplo, como es el caso del PC). Podemos representar los dígitos del 0 al 9, las letras mayúsculas de la A a la Z, las minúsculas, caracteres especiales y de control. Aquí podeís ver la primera parte de la tabla ASCII, con los carácteres tradicionales (los primeros 127 carácteres). Los segundos 127 disponen de simbolós, letras "especiales" como ñ y ç,.... La lista completa está https://es.wikipedia.org/wiki/ASCII_extendido Tabla ASCII Hex Char Hex Char Hex Char Hex Char 0 NULL 20 Space 40 @ 60 ` 1 SOH 21 ! 41 A 61 a 2 STX 22 " 42 B 62 b 3 ETX 23 # 43 C 63 c 4 EOT 24 $ 44 D 64 d 5 ENQ 25 % 45 E 65 e 6 ACK 26 & 46 F 66 f 7 BEL 27 47 G 67 g 8 BS 28 ( 48 H 68 h 9 TAB 29 ) 49 I 69 i A LF 2A * 4A J 6A j B VT 2B + 4B K 6B k C FF 2C , 4C L 6C l D CR 2D - 4D M 6D m E SO 2E . 4E N 6E n F SI 2F / 4F O 6F o 10 DLE 30 0 50 P 70 p 11 DC1 31 1 51 Q 71 q 12 DC2 32 2 52 R 72 r 13 DC3 33 3 53 S 73 s 14 DC4 34 4 54 T 74 t 15 NAK 35 5 55 U 75 u 16 SYN 36 6 56 V 76 v 17 ETB 37 7 57 W 77 w 18 CAN 38 8 58 X 78 x 19 EM 39 9 59 Y 79 y 1A SUB 3A : 5A Z 7A z 1B ESC 3B ; 5B [ 7B { 1C FS 3C < 5C \ 7C | 1D GS 3D = 5D ] 7D } 1E RS 3E > 5E ^ 7E ~ 1F US 3F ? 5F _ 7F DEL Representación de la palabra "HOLA" en código ASCII Extendido H O L A 01001000 01001111 01001100 01000001 1. Unidode El Unicode Estándar es una norma de codificación universal de caracteres que se usa en los ordenadores bajo Windows NT y en los navegadores Internet Explorer y Netscape a partir de su versión 4. Utiliza 8, 16 o 32 bits (hasta 4294.967.296 símbolos), lo que permite codificar todos los caracteres de cualquier lenguaje. Información adicional. Obra publicada con Licencia Creative Commons Reconocimiento Compartir igual 4.0 (http://creativecommons.org/licenses/by-sa/4.0/)

Use Quizgecko on...
Browser
Browser