Bases Numéricas


EL SISTEMA DECIMAL (Base 10):

Este sistema está formado por diez símbolos, llamados números arábicos. También es llamado sistema de base 10. Usando los diez símbolos separadamente 0, 1, 2, 3, ..., 9 nos permite representar el valor de los números en unidades individuales, pero para representar mas de nueve números es necesario combinarlos. Cuando usamos símbolos en combinación, el valor de cada uno de ellos depende de su posición con respecto al punto decimal, designando así un símbolo para las unidades, otro para las decenas, otro para las centenas, otro para los millares (de miles, no de millón), en adelante.

El símbolo correspondiente a las unidades asume la posición mas izquierda antes del punto decimal. Esta designación de posición determina que la potencia del número se corresponde con la distancia en que está del punto decimal, y es por ello que la primera posición se llama UNIDAD (100 = 1). Matemáticamente esto puede ser representado como:

unidad = 100 decena = 101 centena = 102

Por ejemplo: El valor en combinación de los símbolos 234 es determinado por la suma de los valores correspondientes a cada posición:

2 x 102 + 3 x 101 + 4 x 100

Que equivale a:

2 x 100 + 3 x 10 + 4 x 1

Efectuando las multiplicaciones esto da:

200 + 30 + 4

Cuya suma da como resultado: 234

La posición derecha del punto decimal es representada por número enteros pero negativos comensando desde -1 para la primera posición. Matemáticamente las tres primeras posiciones a la derecha del punto decimal se expresan como:

décimas 10-1 centésimas 10-2 milésimas 10-3

En un ejemplo como el anterior, pero mas elaborado podemos ver que el valor 18.947 equivale a:

1x101 + 8x100 + 9x10-1 + 4x10-2 + 7x10-3  

1x10 + 8x1 + 9x0.1 + 4x0.01 + 7x0.001

=

10 + 8 + 0.9 + 0.04 + 0.007

Para representar un número base diez es posible colocar su valor seguido de la base en sub-índice (18.97410) o bien seguido de la letra d entre paréntesis: 645(d).

 

EL SISTEMA BINARIO (Base 2):

Es un sistema de números de base igual a 2, lo que nos lleva a representar los números con sólo dos símbolos distintos: 0 y 1.

Es usado para representar números del mismo modo que el sistema decimal, donde cada símbolo puede ser usado individualmente o en combinación. Por ello con sólo un símbolo en sistema binario podemos representar apenas dos valores (cero y uno) a diferencia del sistema decimal donde un sólo símbolo podía representar hasta diez. Combinando dos símbolos binarios logramos generar los cuatro primeros valores del sistema binario, que se muestran abajo:

00
01
10 (El uno se movió una posición a la izquierda)
11

Para un número mas grande, el símbolo 1 debe ser movido otra vez, haciendo aparecer una tercera columna, tal como ocirrió antes con la segunda. aplicando todas las combinaciones posibles de 0's y 1's, se obtiene:

Binario

Decimal

000

0

001

1

010

2

011

3

100

4

101

5

110

6

111

7

En este sistema se emplea el mismo concepto de posicionamiento y pontencia que en el anterior. A continuación se ven algunos ejemplos de posicionamiento y potencia de los símbolos:

Para números enteros (a la izquierda del punto decimal):

Trigésimo Segundo (32)  = 25
Decimo Sexto (16)  = 24
Octavo (8) = 21
Cuarto (4) = 22
Segundo (2) = 21
Primero (1)  = 20

Para números decimales (a la derecha del punto):

Un Medio = 2-1
Un Cuarto = 2-2
Un Octavo = 2-3

Cuando los símbolos 0 y 1 son usados para representar números binarios, cada símbolo es llamado dígito binario, o simplemente BIT. El número binario 10102 es llamado número binario de cuatro dígitos o número binario de 4-bits.

Este sistema es muy empleado en circuiteria digital por ser fácil de representar y transmitir electrónicamente. Comunmente (aunque no siempre) el símbolo cero del sistema binario está representado por un estado eléctrico bajo, usualmente correspondiente a la masa o a los 0V. Del mismo modo el símbolo 1 es representado por un estado alto que, por lo general, se corresponde con la tensión de fuente (suele ser 5V en sistemas digitales). Pero esto es "por lo general". Hay muchos casos donde si bien el sistema es binario los símbolos son representados eléctricamente de otra forma. Tal es el caso del estándar de comunicaciones seriales 232C donde el 1 es representado por una tensión negativa de entre 5V y 25V, mientras que el 0 es representado por una tensión positiva del mismo rango. Pero no entraremos en detalle en esto por estar fuera de los alcances de este tutorial.

 

CONVERSIÓN ENTRE SISTEMAS

DE BINARIO A DECIMAL: 

Para poder transformar números binarios en su correspondiente decimal  basta multiplicar el dígito binario (que sólo puede ser 0 o 1) por 2 elevado a la potencia correpondiente a la distancia de ese símbolo al punto decimal. Luego se suman los valores obtenidos y se consigue el número final.

Ejemplos:

102 = 1x21 + 0x20 = 1x2 + 0x1 = 2 + 0 = 210

1012 = 1x22 + 0x21 + 1x20 = 1x8 + 1x4 + 0x2 + 1x1 = 4 + 0 + 1 = 510

10012 = 1x23 + 0x22 + 0x21 + 1x20 = 1x8 + 0x4 + 0x2 + 1x1 = 8 + 0 + 0 + 1 = 910

Y para número fraccionarios:

0.0112 = 0x2-1 + 1x2-2 + 1x2-3  = 0x0.5 + 1x0.25 + 1x0.125 = 0 + 0.25 + 0.125 = 0.37510

0.1012 = 1x 2-1 + 0x 2-2 + 1 x 2-3  = 1x0.5 + 0x0.25 + 1 x0.125 = 0.5 + 0 + 0.125 = 0.62510

110.0102 = 1x22 + 1x21 + 0x20 + 0 x 2-1 + 1 x 2-2 + 0 x 2-3
1x4 + 1x2 + 0x1 + 0x0.5 + 1x0.25 + 0x.125
4 + 2 + 0 + 0 + 0.25 + 0
6.2510

Como se ve en los ejemplos el punto decimal aparece automáticamente en la posición correcta una vez efectuada la suma de los componentes.

 

DE DECIMAL A BINARIO:

Aquí veremos el método de divisiones y multiplicaciones sucesivas. 

Para convertir un némero ENTERO decimal a una nueva base, el número decimal es sucesivamente dividido por la nueva base. Como en nuestro caso la nueva base es 2 el número será sucesivamente dividido por 2, O sea, el número original es dividido por 2, el resultado de ese cociente es dividido por 2 sucesivamente hasta que el cociente de 0. El resto de cada división es un número binario que conforma el número resultante de la conversión. El primer resultado producido (el primer resto obtenido) corresponde al bit mas próximo al punto decimal (o lo que se conoce como bit de menor peso). Los sucesivos bits se colocan a la izquierda del anterior. Notese que esto es como escribir en sentido contrario al empleado normalmente.

Veamos esto con un ejemplo:

Convertiremos a binario el número 1810

18 / 2 = 9 y resta 0 (este cero es el bit mas próximo al punto binario)
9 / 2 = 4 y resta 1 (este uno es el bit que le sigue a la izquierda al cero obtenido arriba)
4 / 2 = 2 y resta 0 (este cero es el bit que le sigue a la izquierda al uno obtenido arriba)
2 / 2 = 1 y resta 0 (este cero es el bit que le sigue a la izquierda al cero obtenido arriba)
Con 1 no se puede continuar dividiendo pero se coloca éste a la izquierda del cero obtenido arriba, quedando como bit de mayor peso.

Entonces, 1810 = 100102.

En el caso de convertir un número decimal FRACCIONARIO, la parte fraccionaria debe ser multiplicada por 2 y el número binario es formado por 0's o 1's que aparecen en la parte correspondiente al entero. Solo que en este caso el número binario se escribe de izquierda a derecha, a diferencia de lo explicado antes para los números enteros. Las multiplicaciones se efectúan SOLO sobre la parte fraccionaria del número por lo que siempre serán 0.XXX. Nunca debe multiplicar 1.XXX. El proceso de multiplicaciones sucesivas concluye cuando quedan en cero la parte entera y la fraccionaria.

En este ejemplo convertiremos el número fraccionario 0.62510

0.625 x 2 = 1.250 (bit mas próximo al punto binario)
0.250 x 2 = 0.500 (bit a la derecha del uno obtenido anteriormente)
0.500 x 2 = 1.000 (bit a la derecha del cero obtenido anteriormente)

La operación concluye porque no queda parte fraccionaria para seguir multiplicando.

0.62510 = 0.1012

Pueden ocurrir situaciones donde cualquier número multiplicado por 2 nunca llegue a cero Esto causa que el número binario obtenido sea aproximado, como se observa en el ejemplo de abajo:

0.610

0.6 x 2 = 1.2 (bit mas próximo al punto binario)
0.2 x 2 = 0.4 (bit a la derecha del uno obtenido arriba)
0.4 x 2 = 0.8 (bit a la derecha del cero obtenido arriba)
0.8 x 2 = 1.6 (bit a la derecha del cero obtenido arriba)
0.6 x 2 = 1.2 (bit a la derecha del uno obtenido arriba) 
0.2 x 2 = 0.4 (Retorna a la situación inicial... Ver segunda línea del proceso)

 

EL SISTEMA OCTAL (Base 8):

Este sistema es muy usado en trabajos digitales, por su fácil conversión de y hacia el sistema binario. Tiene su base igual a ocho, lo que genera la necesidad de ocho símbolos para representar valores en este sistema y para esta finalidad se seleccionaron los primeros ocho símbolos del sistema decimal: 0, 1, 2, 3, 4, 5, 6 y 7.

A continuación del 7 y para seguir contando hacia adelante, hay que agregar una nueva columna a la izquierda la cual tendrá como valor inicial un 1. De esta forma es posible obteber otras ocho nuevas conbinaciones tal como sucedia en los otros sistemas comentados anteriormente. Estos son algunos de los valores para cada símbolo.

Septuagésimo Cuarto (64) = 82
Octavo (8) = 81
Unidad (1) = 80
Un Octavo =  8-1
Un Sesenta y Cuatro Avos = 8-2

Los números octales son parecidos a los números decimales excepto por los símbolos 8 y 9, que no son usados.

 

CONVERSIÓN DE DECIMAL A OCTAL:

En esta caso basta usar el mismo método de conversión con los números binarios. Pero en vez de hacer divisiones sucesivas por 2 hay que efectuarlas por 8. Nótese que el divisor corresponde a la base del sistema al cual se va a convertir. Lo mismo sucede con las multiplicaciones sucesivas, necesarias para convertir números fraccionarios.

Ejemplo 1: Convertir 24510

245 / 8 = 30 y resta 5 (dígito mas próximo al punto octal)
30 / 8 = 3 y resta 6 (dígito a la izquierda del 5 obtebido arriba)
No se puede seguir dividiendo, por lo que el 3 queda como dígito de mayor peso a la izquierda del 6 obtenido arriba.

Resultado: 24510 = 3658

 

Ejemplo 2: Convertir 17510

175 / 8 = 21 y resta 7 (dígito mas próximo al punto octal)
21 / 8 = 2 y resta 5 (dígito a la izquierda del 7 obtenido arriba)
No se puede seguir dividiendo, por lo que el 2 queda como dígito de mayor peso a la izquierda del 7 obtenido arriba.

Resultado: 17510 = 2578

 

Ejemplo 3: Convertir 0.43210

0.432 x 8 = 3.456 (dígito mas próximo al punto octal)
0.456 x 8 = 3.648 (dígito a la derecha del 3 obtenido arriba) 
0.648 x 8 = 5.184 (dígito a la derecha del 3 obtenido arriba)
0.184 x 8 = 1.472 (dígito a la derecha del 5 obtenido arriba)

Resultado: 0.43210 = 0.33518

OBS.: Note que la la conversión no fué exacta.

 

SISTEMA HEXADECIMAL (Base 16):

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

 Al igual que en los otros sistemas en Hexadecimal, cuando se llega a la F y se requiere seguir contando hacia adelante se torna necesario agregar una nueva columna a la izquierda de la actual la cual inicialmente deberá estar en 1. Esto permite generar otros 16 símbolos nuevos diferentes a los anteriores.

 

CONVERSIÓN DE HEXADECIMAL A BINARIO:

Para efectuar la conversión basta con colocar los cuatro bits correspondientes a cada símbolo del número hexa respetando su posición original. Para saber el balor de cada símbolo sólo tiene que mirar la tabla de relación entre sistemas mostrada arriba.

Por ejemplo: Para convertir 7A216

7 A 2
0111 1010 0010

Resultado: 7A216 = 0111101000102

 

Otro ejemplo: Para convertir 3D4.F16

3 D 4 . F
0011 1101 0100 . 1111

Resultado: 3D4.F16 = 001111010100.11112

 

CONVERSIÓN DE BINARIO A HEXADECIMAL:

Primeramente hay que agrupar los bits de a cuatro comenzando por la derecha y siguiendo hacia la izquierda. Si bien en palabras cuya longitud sea múltiplo de cuatro esto no tiene obligatoriedad, en aquellas cuyo tamaño no sea multiplo de cuatro si selecciona de izquierda a derecha los grupos de bits quedarán mal conformados. Esto anterior para la parte entera. Para la parte fraccionaria el orden es inverso, o sea que se agrupa de izquierda a derecha. Nótese que siempre es del punto hacia afuera. Una vez formados los grupos basta con fijarse en la tabla de arriba y reemplazar cada grupo por el símbolo Hexa correspondiente. 

Nada mejor que unos ejemplos: 

Ejemplo 1: Convertir 1010110100102

1010 1101 0010
A D 2

Resultado: 1010110100102 = AD216

 

Ejemplo 2: Convertir 101110101102

101 1101 0110
5 D 6

Resultado: 101110101102 = 5D616

 

Ejemplo 3: 1101011110.1012

0011 0101 1110 . 1010
3 5 E . A

 Resultado: 1101011110.1012 = 35E.A16

OBS: Cuando un grupo de bits de la parte entera queda formado por menos de cuatro bits sus posiciones a la izquierda deben ser asumidas como ceros, las cuales verá que no surten efecto en el valor. En tanto cuando esto ocurra en la parte fraccionaria pas posiciones a la derecha son las que deben ser completadas con cero. Aquí si tiene efecto. En el ejemplo de arriba los ceros se colocaron reasaltados para facilitar su visualización.

 

CONVERSIÓN DE HEXADECIMAL A DECIMAL:

Los números hexa son convertidos a su equivalene decimal multiplicando el peso de cada posición por el equivalente decimal del dígito de cada posición y sumando los productos.

Entonces:

12116 1 x 162 + 2 x 161 + 1 x 160
1 x 256 + 2 x 16 + 1 x 1
256 + 32 + 1
28910

 

A1C16 A x 162 + 1 x 161 + C x 160
10 x 256 + 1 x 16 + 12 x 1
2560 + 16 + 12
258810

OBS: Los valores que sustituyen a las letras se obtienen de la tabla dada arriba.

 

CONVERSIÓN DE DECIMAL A HEXADECIMAL:

Se puede realizar empleando dos procesos: Divisiones sucesivas por 16, cuando el número es entero, o multiplicaciones sucesivas por 16, cuando el número es fraccionario. Siguiendo los mismos lineamientos empleados con los otros sistemas numéricos.

Ejemplo 1: 65010

650 / 16 = 40 y resta 10 = A (dígito mas próximo al punto hexadecimal)
40 / 16 = 2 y resta 8 (dígito a la izquierda del anterior)
No se puede continuar dividiendo, por lo que el 2 queda como símbolo mas significativo a la izquierda del anterior.

Resultado 65010 = 28A16

 

Ejemplo 2: 258810

2588 / 16 = 161 y resta 12 = C (dígito mas próximo al punto hexadecimal)
161 / 16 = 10 y resta 1 (Dígito siguiente a la izquierda del obtenido arriba)
No se puede seguir dividiendo, por lo que el diez (la A) queda como símbolo mas significativo a la izquierda del obtenido arriba

Resultado 258810 = A1C16

 

Ejemplo 3: 0.64210

0.642 x 16 = 10.272 (dígito mas próximo al punto hexadecimal) 1010=A16
0.272 x 16 = 4.352 (dígito siguiente a la derecha del anterior)
0.352 x 16 = 5.632 (dígito siguiente a la derecha del anterior)
0.632 x 16 = 10.112 (Dígito siguiente a la derecha del anterior) 1010=A16

Resultado 0.64210 = 0.A45A16

OBS.: Note que la conversión no fué exacta.