Читать книгу Operaciones auxiliares con tecnologías de la información y la comunicación. IFCT0108 - José Manuel Cabello García - Страница 9
4. Representación interna de los datos
ОглавлениеLa información que un equipo informático puede manipular y, por tanto, representar, se engloba a grandes rasgos en dos bloques que son el resultado de una división que depende de la naturaleza de los mismos. Por un lado, se representan secuencias de tipo numérico y, por otro, secuencias de caracteres.
4.1. Representación de secuencias numéricas
Para un ordenador, existen diferentes formas de representación de datos numéricos, las cuales se basan en una serie de principios a tener en cuenta a la hora de elegir el modo de representación de los mismos.
Dichos principios a tomar en consideración son los siguientes:
1 La naturaleza de la secuencia numérica.
Nota
La forma de representar un dato numérico de tipo entero diferirá de hacerlo para un dato numérico de tipo real.
1 El intervalo o rango de los datos que se estimen representables, así como la precisión o número de dígitos imprescindibles para representar un valor numérico dado.
2 Aunque hoy en día los equipos informáticos evolucionan muy rápidamente y trabajan a unas velocidades vertiginosas, es conveniente optimizar los gastos de fabricación de los equipos, siendo estos acordes con los requisitos de representación de los datos numéricos.
Secuencias de números enteros
Para la representación de números enteros, existen dos clases diferentes cuya distinción se hace al dotar a cada dígito de un valor que está subordinado tanto al propio símbolo numérico como a su posición. Este sistema de representación se denomina posicional y transforma el número a modo de vector.
Por otro lado, como segunda clase, se mantienen los sistemas de numeración no posicionales, en los cuales no influye la posición en la que se encuentre un número, sino el valor que posea.
Sistemas de numeración posicionales
Un sistema de numeración posicional se basa en que a cada uno de sus dígitos se le asigna un valor que depende tanto del propio valor del dígito como de la posición en la que este se encuentre.
En cuanto a los sistemas de numeración posicionales, existen los siguientes:
Signo magnitud
Se trata de una manera de representar en binario los números enteros con signo. Se empleará un bit para ello, el de la izquierda o más significativo, y todos los demás para el valor absoluto del número. Como valor más significativo, el 0 indica que el número es positivo y el 1 que el número es negativo.
Complemento a 1
Para este caso, se procederá con una conversión tradicional al sistema binario para los números positivos. Sin embargo, para números negativos, se convertirá a binario el número y seguidamente se realizará una operación NOT para todos los bits o, lo que es lo mismo, invertir ceros por unos y unos por ceros.
Complemento a 2
En caso de ser positivo, se operará del mismo modo que en complemento a 1 para estos, es decir, con una conversión tradicional al sistema binario. Para el caso de los números negativos, se opera como si a complemento a 1 se tratase además de sumar 1.
Nota
El complemento a 2 es igual que el complemento a 1 para números positivos y, en caso de números negativos, además de ser igual al complemento a 1, hay que sumarle 1.
En la siguiente tabla, se pueden observar números de 4 bits representados en cada uno de los sistemas de numeración posicionales.
Decimal | Signo-magnitud | Complemento a 1 | Complemento a 2 |
---|---|---|---|
+8 +7 +6 +5 +4 +3 +2 +1 +0 -0 -1 -2 -3 -4 -5 -6 -7 -8 | - 0111 0110 0101 0100 0011 0010 0001 0000 1000 1001 1010 1011 1100 1101 1110 1111 - | - 0111 0110 0101 0100 0011 0010 0001 0000 1111 1110 1101 1100 1011 1010 1001 1000 - | - 0111 0110 0101 0100 0011 0010 0001 0000 n/d 1111 1110 1101 1100 1011 1010 1001 1000 |
Sistemas de numeración no posicionales
En cuanto a los sistemas de numeración no posicionales, se tienen los siguientes tipos:
1 BCD: consiste en una representación binaria de 4 bits de cada uno de los dígitos de un número expresado en sistema decimal.
2 Exceso a 3: variante de la anterior, se opera de igual modo, pero se le suma 3 a cada dígito del número decimal.
3 Código Gray: este sistema de representación, también llamado Binario reflejado, radica en que dos números enteros consecutivos tienen un solo bit de diferencia.
Recuerde
Un sistema de numeración no posicional basa el valor de cada uno de sus dígitos en el propio valor del dígito sin afectar la posición en la que este se encuentre.
En la siguiente tabla, se pueden observar números de 4 bits con signo positivo representados en cada uno de los sistemas de numeración no posicionales.
Decimal | BCD | Exceso a 3 | Código Gray |
---|---|---|---|
+8 +7 +6 +5 +4 +3 +2 +1 +0 | 1000 0111 0110 0101 0100 0011 0010 0001 0000 | 1011 1010 1001 1000 0111 0110 0101 0100 0011 | 1100 0100 0101 0111 0110 0010 0011 0001 0000 |
Secuencias de números reales
A la hora de representar secuencias de números reales, también existen diferentes formatos de representación, entre los que destacan los siguientes:
Punto fijo o coma fija
Sistema por el cual se separa la parte entera de la parte decimal con un punto. Su representación en el sistema decimal se realizará como si de una conversión de números enteros se tratase, aunque asignando exponentes negativos para la parte decimal, es decir, se comenzará con un exponente igual a 0 para el primer dígito a la izquierda del punto e incrementará al avanzar hacia la izquierda. Sin embargo, para el primer dígito a la derecha del punto, se utilizará un exponente igual a -1, con que irá en decremento al avanzar hacia la derecha.
Punto flotante o coma flotante
Se utiliza debido a que el rango de números representables en punto flotante es escaso. Para ello, se emplea la notación científica, la cual lleva ligados tres datos, que son la mantisa, la base y el exponente.
Ejemplo
1.0 · 1015, de los que 1.0 es la mantisa, 10 la base y 15 el exponente.
4.2. Representación de secuencias de caracteres
En cuanto a la representación de caracteres, los ordenadores se sirven de lo que se conoce como códigos alfanuméricos que, como mínimo, estarán formados por las letras del abecedario, los números del sistema decimal y algún que otro símbolo o signo de puntuación. Algunos de los códigos de caracteres alfanuméricos más relevantes utilizados en la actualidad son los siguientes:
1 ASCII: se trata de un código de caracteres estándar, que utiliza 7 bits y con el que se representan hasta un total de 27 = 128 caracteres, cifra pequeña que, en muchos casos, no es suficiente. Existe una versión que utiliza 8 hits con la que se pueden representar hasta 256 caracteres. En este caso, surge el problema de que no se encuentra estandarizada.
2 EBCDIC: código de caracteres estándar creado por IBM. Utiliza 8 bits y es usado en trabajos de computación por macroordenadores o mainframes.
3 UNICODE: código de caracteres estándar creado para resolver los problemas de escasez de caracteres surgidos en otros códigos. En este caso, se utilizan 16 bits, con lo que se pueden representar 216 = 65536 caracteres, de los cuales, los 256 primeros se ajustan al código ASCII de 8 bits o ASCII extendido. Al poseer un rango de representación tan amplio, alfabetos como el chino, japonés, latín o griego podrán hacer uso del mismo.
Recuerde
El código ASCII utiliza 7 bits de representación, EDCDIC utiliza 8 bits de representación y UNICODE utiliza 16 bits de representación.
En la siguiente tabla, se puede observar el código de caracteres ASCII.
ASCII | Símbolo | ASCII | Símbolo | ASCII | Símbolo | ASCII | Símbolo |
---|---|---|---|---|---|---|---|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | NUL SOH STX ETX EOT ENQ ACK BEL BS TAB LF VT FF CR SO SI | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | (espacio) ! “ # $ % & ‘ ( ) * + , - . / | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | 0 1 2 3 4 5 6 7 8 9 : ; < = > ? |
ASCII | Símbolo | ASCII | Símbolo | ASCII | Símbolo | ASCII | Símbolo |
---|---|---|---|---|---|---|---|
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | @ A B C D E F G H I J K L M N O | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | P Q R S T U V W X Y Z [ \ ] ^ _ | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | ` a b c d e f g h i j k l m n o | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | p q r s t u v w x y z { | } ~ DEL |