Si se codifica un número de un sistema numérico cualquiera en forma de vector, la forma de representarlo en el sistema decimal se determina por medio de la siguiente fórmula:
Esta fórmula es consecuencia directa del Teorema fundamental de la numeración, que se pasa a comprobar en la siguiente aplicación práctica, en la se convierten diferentes números de distintos sistemas numéricos al sistema decimal.
Aplicación práctica
Imagine que está trabajando en una empresa del sector informático como técnico de sistemas y un compañero del departamento de desarrollo de aplicaciones está codificando una aplicación informática para la cual necesita la conversión entre números de diferentes sistemas de numeración y, como usted sabe hacerlo, le pide ayuda para convertir los siguientes números, cada uno desde la base que se especifica a base decimal: 2D1(16), 1321(8) y 1011010001(2).
SOLUCIÓN
2D1(16) (D equivale a 13)
2 x 162 + 13 x 161 + 1 x 160 = 512 + 208 + 1 = 721(10) 1321(8)
1 x 83 + 3x82 + 2x81 + 2x80 = 512 +192 + 16 + 1 = 721(10) 1011010001(2)
1 x 29 + 0 x 28 + 1 x 27 + 1 x 26 + 0 x 25 + 1 x 24 + 0 x 23 + 0 x 22 + 0 x 21 + 1 x 20 = 512 + 0 + 128 + 64 + 0 + 16 + 0 + 0 + 0 + 1 = 721(10)
Se ha comprobado cómo convertir diferentes números de diferentes sistemas numéricos al sistema decimal. Para realizar el proceso inverso, se realizarán divisiones sucesivas del número decimal entre la base del sistema a transformar y se irán almacenando los restos de las divisiones para posteriormente formar el valor transformado.
Nota
Para realizar la conversión a otro sistema de numeración, se realizará el mismo proceso, sustituyendo como divisor la base del sistema en cuestión.
En la siguiente tabla, se muestran los primeros números decimales convertidos a los sistemas numéricos binario, hexadecimal y octal.
Decimal | Binario | Hexadecimal | Octal |
---|---|---|---|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 | 0 1 2 3 4 5 6 7 8 9 A B C D E F | 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 |
Aplicación práctica
Imagine que un compañero del departamento de desarrollo le pide el favor de que le explique el proceso de conversión de un número en base decimal a base octal, por ejemplo el 721. ¿Cómo se lo explicaría de un modo gráfico?
SOLUCIÓN
Conversión de base decimal o octal
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
|
---|