UD2 - Representación de la información - Parte I - Sistemas de Numeración

Introducción

En la vida cotidiana, los términos datos e información se usan indistintamente, pero en informática conviene diferenciarlos.
Los DATOS son INFORMACIÓN codificada, lista para ser introducida y procesada por un ordenador, por tanto se podría decir que los datos no son más que una forma de representar la información.
Los datos, como tales, carecen de significado y solo lo adquieren cuando son interpretados. Una vez que los datos han sido procesados, y se ha mostrado su resultado de un modo inteligible se puede considerar como información.

1 - Codificación Binaria

Para que los ordenadores puedan manipular datos, estos deben estar codificados.

En informática, la codificación de la información se realiza mediante dos dígitos; 0 y 1, por lo que se la conoce como codificación binaria. La razón de utilizar sólo dos dígitos se debe a que todos los dispositivos de un ordenador trabajan con dos estados únicos: activado-desactivado, abierto-cerrado, pasa corriente-no pasa corriente,....

La codificación binaria está basada en el sistema de numeración binario, que emplea los dígitos 0 y 1 para representar cualquier número.

2 - Sistemas de Numeración

Un SISTEMA DE NUMERACIÓN es un conjunto de símbolos y reglas que permiten representar datos numéricos; la principal regla es que un mismo símbolo tiene distinto valor según la posición que ocupe (notación posicional).

Sistema de numeración decimal

El sistema de numeración decimal es un tipo de sistema de numeración en el que las cantidades se representan utilizando potencias de base 10. El conjunto de símbolos utilizados en este sistema se compone de diez cifras, del 0 al 9.

- Símbolos: 0,1,2,3,4,5,6,7,8,9
- Notación posicional: Unidades (100), decenas (101), centenas (102), unidades de millar (103),....

Por ejemplo, en este sistema, el valor del número 6839 se puede expresar como:

6*103 + 8*102 + 3*101 + 9*100 = 6839

Si el número tiene decimales, los dígitos colocados a la derecha de la coma serán negativos.

Por ejemplo: el número 6839,235 se puede expresar como:
6*103 + 8*102 + 3*101 + 9*100 + 2*10-1 + 3*10-2 + 5*10-3 = 6839,235

Así, un número expresado en otra base que no sea 10, por ejemplo base 2 (binario), también puede expresarse en el sistema decimal siguiendo la siguiente fórmula conocida como teorema fundamental de la numeración:

i = la posición respecto a la coma
d = el número de dígitos a la derecha de la coma
n = número de dígitos a la izquierda de la coma -1
dígito = cifra del número
base = base utilizada (por ejemplo: decimal=10, binario=2)

Sistema de numeración binario

En el sistema de numeración binario los números se representan utilizando solamente las cifras 0 y 1, que tendrán distinto valor dependiendo de la posición que ocupan. La base es 2 y el exponente dependerá de la posición.
Por ejemplo, el número decimal 27, se expresa en binario como: 11011. Vamos a ver por qué.

3 - Conversiones entre decimal y binario

Conversión de binario a decimal

El proceso para convertir un número del sistema binario al decimal, es muy sencillo, siguiendo la fórmula del teorema fundamental de la numeración. En el ejemplo siguiente convertimos el número 11011 de binario a decimal, recordar que en binario, la BASE es 2:

11011 = 1*24 + 1*23 + 0*22 + 1*21 + 1*20 = 16 + 8 + 0 + 2 + 1 = 27

Otro ejemplo: convertir el número binario 1101012 a decimal

Conversión de decimal a binario

Para pasar un número expresado en decimal a binario, debemos realizar divisiones entre 2 y colocar los restos obtenidos en cada una de ellas y el último cociente.
Ejemplo: convertir el número decimal 77 a binario

Ejercicio 1

Expresa, en código binario, los números decimales siguientes: 191, 25, 67, 99, 135, 276

4 - Otros Sistemas de Numeración: Octal y Hexadecimal

El inconveniente de la codificación binaria es que la representación de algunos números es muy larga; es por esto que se utilizan los sistemas de numeración octal y hexadecimal.

Sistema de numeración octal

El sistema de numeración octal es un sistema de numeración en BASE 8, una base que es potencia exacta de 2 o de la numeración binaria. Esta característica hace que la conversión a binario o viceversa sea bastante simple. El sistema octal usa 8 dígitos (0, 1, 2, 3, 4, 5, 6, 7) y tienen el mismo valor que en el sistema de numeración decimal.

De octal a decimal

Seguimos el teorema de la numeración. Por ejemplo, para convertir el número OCTAL 1635 a DECIMAL, multiplicamos el dígito por la base elevado a su posición. Nos podemos ayudar de la siguiente tabla:
1*83 + 6*82 + 3*81 + 5*80 =
(1 * 512) + (6 * 64) + (3 * 8) + (5 * 1) = 925
16358 = 92510

De decimal a octal

Realizamos divisiones sucesivas entre 8 y nos quedamos con los restos y el último cociente, al igual que hicimos para pasar de decimal a binario:

Sistema de numeración hexadecimal

Otro modo de manejar números binarios es con el uso del sistema de numeración hexadecimal. Este sistema es de BASE 16, y utiliza los dígitos O, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F. La siguiente tabla nos muestra la equivalencia desde la A hasta la F hexadecimal con su valor decimal
Calculemos, a modo de ejemplo, el valor del número hexadecimal 1A3F16:
1A3F16 = 1*163 + A*162 + 3*161 + F*160 = 1*4096 + 10*256 + 3*16 + 15*1 = 6719
1A3F16 = 671910
Finalmente, para convertir de decimal a hexadecimal repetimos el método de la división sucesiva, esta vez con la base 16.
Ejemplo: convertir el número decimal 4156510 a hexadecimal

Conversión de binario a octal y viceversa

Observa la tabla siguiente, con los siete primeros números expresados en los sistemas decimal, binario y octal:
Cada dígito de un número octal se representa con tres dígitos en el sistema binario. Por tanto, el modo de conver­tir un número entre estos sistemas de numeración equivale a "expandir" cada dígito octal a tres dígitos bi­narios, o en "contraer" grupos de tres caracteres binarios a su correspondiente dígito octal.
Por ejemplo, para convertir el número binario 1010010112 a octal tomaremos grupos de tres bits y los sustituiremos por su equivalente octal:
1012 = 58
0012 = 18
0112 = 38
y, de ese modo: 1010010112 = 5138

La conversión de números octales a binarios se hace, siguiendo el mismo método, reemplazando cada dígito octal por los tres bits equivalentes. Por ejemplo, para convertir el número octal 7508 a binario, tomaremos el equivalente binario de cada uno de sus dígitos:
78 = 1112
58 = 1012
08 = 0002
y, por tanto: 7508 = 1111010002

Conversión de binario a hexadecimal y viceversa

Del mismo modo que hallamos la correspondencia entre números octales y binarios, podemos establecer una equivalencia directa entre cada dígito hexadecimal y cuatro dígitos binarios, como se ve en la siguiente tabla:

La conversión entre números hexadecimales y binarios se realiza "expandiendo" o "con­trayendo" cada dígito hexadecimal a cuatro dígitos binarios.
Por ejemplo, para expresar en hexadecimal el número binario 1010011100112 bastará con tomar grupos de cuatro bits, empezando por la derecha, y reemplazarlos por su equivalente hexadecimal:
10102 = A16
01112 = 716
00112 = 316
y, de ese modo: 1010011100112 = A7316

La conversión de números hexadecimales a binarios se hace, siguiendo el mismo método, reemplazando cada dígito hexadecimal por los 4 bits equivalentes.
Por ejemplo, para convertir el número hexadecimal 1F6 a binario, tomaremos el equivalente binario de cada uno de sus dígitos:
116 = 00012
F16 = 11112
616 = 01102
y, por tanto: 1F616 = 0001111101102

Conversión entre Octal y Hexadecimal

Ahora que sabemos pasar a binario un número octal y un número hexadecimal es muy sencillo la conversión entre ambos.
  • Para pasar de un número Hexadecimal a Octal -> Convertimos el número Hexadecimal a binario (usando la tabla Hexadecimal si lo necesitamos), y hacemos grupos de 3 bits para pasar a Octal
  • Para pasar de un número Octal a Hexadecimal -> Convertimos el número Octal a binario (usando la tabla Octal si lo necesitamos), y hacemos grupos de 4 bits para pasar a Hexadecimal
Recuerda que para hacer los grupos empezamos por la derecha, y si nos faltan números en la izquierda completamos con ceros.

No hay comentarios:

Publicar un comentario