Sistemas de numeración
|
Nociones |
|
|
|
Notaciones |
|
|
|
Numeraciones |
|
|
Un sistema de numeración es un conjunto de símbolos y reglas de generación que permiten construir todos los números válidos en el sistema.
Un sistema de numeración puede representarse como
donde:
- N es el sistema de numeración considerado (p.ej. decimal, binario, etc.)
- S son los símbolos permitidos en el sistema. En el caso del sistema decimal son {0,1...9}; en el binario son {0,1}; en el octal son {0,1...7}; en el hexadecimal son {0,1...9,A,B,C,D,E,F}
- R son las reglas que nos indican qué números son válidos en el sistema, y cuáles no.
Estas reglas son diferentes para cada sistema de numeración considerado, pero una regla común a todos es que para construir números válidos en un sistema de numeración determinado sólo se pueden utilizar los símbolos permitidos en ese sistema.
Para indicar el sistema de numeración utilizado se añade como subíndice al número.
Ejemplos [editar]
- el número 125(10) es un número válido en el sistema decimal, pero el número 12A(10) no lo es, ya que utiliza un símbolo A no válido en el sistema decimal.
- el número 35(8) es un número válido en el sistema octal, pero el número 39(8) no lo es, ya que el símbolo 9 no es un símbolo válido en el sistema octal.
- el número F1E4(16) es un número válido en el sistema hexadecimal, pero el número FKE4(16) no lo es, ya que el símbolo K no es un símbolo válido en el sistema hexadecimal.
Clasificación [editar]
Los sistemas de numeración pueden clasificarse en dos grandes grupos: posicionales y no-posicionales.
En los sistemas no-posicionales los dígitos tienen el valor del símbolo utilizado, que no depende de la posición (columna) que ocupan en el número.
En los sistemas de numeración ponderados o posicionales el valor de un dígito depende tanto del símbolo utilizado, como de la posición que ése símbolo ocupa en el número.
Sistemas de numeración no posicionales [editar]
El sistema de los números romanos no es estrictamente posicional. Por esto, es muy complejo diseñar algoritmos de uso general (por ejemplo, para sumar, restar, multiplicar o dividir).
Como ejemplo, en el número romano XCIX (99 decimal) los numerales X (10 decimal) del inicio y del fin de la cifra equivalen siempre al mismo valor, sin importar su posición dentro de la cifra.
También el sistema maya tuvo un sistema de numeración posicional que pocos conocen pero también es aditivo como el romano.
Sistemas de numeración posicionales [editar]
El número de símbolos permitidos en un sistema de numeración posicional se conoce como base del sistema de numeración. Si un sistema de numeración posicional tiene base b significa que disponemos de b símbolos diferentes para escribir los números, y que b unidades forman una unidad de orden superior.
- Ejemplo en el sistema de numeración decimal
Si contamos desde 0, incrementando una unidad cada vez, al llegar a 9 unidades hemos agotado los símbolos disponibles, y si queremos seguir contando no disponemos de un nuevo símbolo para representar la cantidad que hemos contado. Por tanto añadimos una nueva columna a la izquierda del número, reutilizamos los símbolos de que disponemos, decimos que tenemos una unidad de segundo orden (decena), ponemos a cero las unidades, y seguimos contando.
De igual forma, cuando contamos hasta 99, hemos agotado los símbolos disponibles para las dos columnas; por tanto si contamos (sumamos) una unidad más, debemos poner a cero la columna de la derecha y sumar 1 a la de la izquierda (decenas). Pero la columna de la izquierda ya ha agotado los símbolos disponibles, así que la ponemos a cero, y sumamos 1 a la siguiente columna (centena). Como resultado nos queda que 99+1=100.
Como vemos, un sistema de numeración posicional se comporta como un cuentakilómetros: va sumando 1 a la columna de la derecha y, cuando la rueda de esa columna ha dado una vuelta (se agotan los símbolos), se pone a cero y se añade una unidad a la siguiente columna de la izquierda.
Pero estamos tan habituados a contar usando el sistema decimal que no somos conscientes de este comportamiento, y damos por hecho que 99+1=100, sin pararnos a pensar en el significado que encierra esa expresión.
Tal es la costumbre de calcular en decimal que la inmensa mayoría de la población ni siquiera se imagina que pueden existir otros sistemas de numeración diferentes al de base 10, y tan válidos y útiles como este. Entre esos sistemas se encuentran el de base 2 Sistema binario, de base 8 Sistema octal y el de base 16 Sistema hexadecimal.
Teorema Fundamental de la Numeración [editar]
Este teorema establece la forma general de construir números en un sistema de numeración posicional. Primero estableceremos unas definiciones básicas:
- N: Número válido en el Sistema de numeración
- b: base del sistema de numeración. Número de símbolos permitidos en el sistema.
- d: un símbolo cualquiera de los permitidos en el sistema de numeración
- n: número de dígitos de la parte entera.
- ,: coma fraccionaria. Símbolo utilizado para separar la parte entera de un número de su parte fraccionaria.
- k: número de dígitos de la parte decimal.
La fórmula general para construir un número (cualquier número) N en un sistema de numeración posicional de base b es la siguiente:
El valor total del número será la suma de cada dígito multiplicado por la potencia de la base correspondiente a la posición que ocupa en el número.
Esta representación posibilita la realización de sencillos algoritmos para la ejecución de operaciones aritméticas.
Ejemplo en el Sistema Decimal [editar]
En el sistema decimal los símbolos válidos para construir números son {0...9} (0 hasta 9, ambos incluidos), por tanto la base (número de símbolos válidos en el sistema) es 10.
En la figura inferior podemos ver el teorema fundamental de la numeración aplicado al sistema decimal.
Los dígitos a la izquierda de la coma fraccionaria representados por dn ... d2 d1 d0 , toman el valor correspondiente a las potencias positivas de la base (10 en el sistema decimal), en función de la posición que ocupan en el número, y representan respectivamente al dígito de las n-unidades (10n), centenas (10²=100), decenas (10¹=10) y unidades (100=1), ya que como se ve en el gráfico están colocados en las posiciones n..., tercera, segunda y primera a la izquierda de la coma fraccionaria.
Los dígitos a la derecha de la coma fraccionaria d-1, d-2, d-3 ... d-n representan respectivamente al dígito de las décimas (10-1=0,1), centésimas (10-2=0,01), milésimas (10-3=0,001) y n-ésimas (10-n) .
Por ejemplo, el número 1492,36 en decimal, puede expresarse como:
Ejemplo en el Sistema Binario [editar]
Tomemos ahora el sistema binario o de base 2. En este sistema los dígitos válidos son {0,1}, y dos unidades forman una unidad de orden superior.
En la figura inferior podemos ver el teorema fundamental de la numeración aplicado al sistema binario.
Seguimos con el ejemplo del cuentakilómetros visto arriba. En este caso las ruedas no tienen 10 símbolos (0 al 9) como en el caso del sistema decimal. En el sistema binario la base es 2, lo que quiere decir que sólo disponemos de 2 símbolos {0,1} para construir todos los números binarios.
Aquí las ruedas del cuentakilómetros dan una vuelta cada dos unidades. Por tanto, una vez que contamos (sumamos) dos hemos agotado los símbolos disponibles para esa columna, y debemos poner a cero la columna y usar otra columna a la izquierda.
Así, si contamos en binario, tras el número 0(2 viene el 1(2, pero si contamos una unidad más debemos usar otra columna, resultando 10(2
Sigamos contando 0(2,1(2,10(2,11(2. Al añadir una unidad a la columna de las unidades, esa columna ha dado la vuelta (ha agotado los símbolos disponibles), y debemos formar una unidad de segundo orden, pero como ya hay una, también agotaremos los símbolos disponibles para esa columna, y debemos formar una unidad de tercer orden o 100(2. Así, en el sistema binario 11(2 + 1(2 + 100(2
Ejemplos:
- El número
está formado por un solo símbolo repetido tres veces. No obstante, cada uno de esos símbolos tiene un valor diferente, que depende de la posición que ocupa en el número. Así, el primer 1 (empezando por la izquierda) representa un valor de
, el segundo de
y el tercero de
, dando como resultado el valor del número:
.
Sistema de Numeración Octal [editar]
El sistema de numeración octal es también muy usado en la computación por tener 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. Como el sistema de numeración octal usa la notación posicional entonces para el número 3452.32q tenemos: 2*80 + 5*81 + 4*82 + 3*83 + 3*8-1 + 2*8-2 = 2 + 40 + 4*64 + 64 + 3*512 + 3*0.125 + 2*0.015625 = 2 + 40 + 256 + 1536 + 0.375 + 0.03125 = 1834 + 40625d
Entonces, 3452.32q = 1834.40625d
El sub índice q indica número octal, se usa la letra q para evitar confusión entre la letra o y el número 0. 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. Es posible que la numeración octal se usara en el pasado en lugar de la decimal, por ejemplo, para contar los espacios interdigitales o los dedos distintos de los pulgares.
Es utilizado como una forma abreviada de representar números binarios que emplean caracteres de seis bits. Cada tres bits (medio caracter) es convertido en un único dígito octal. Okta es un término griego que significa 8.
Sistema de Numeración Hexadecimal [editar]
El sistema de numeración hexadecimal, o sea de base 16, (es común abreviar hexadecimal como hex aunque hex significa base seis y no base dieciseis) es compacto y proporciona un mecanismo sencillo de conversión hacia el formato binario. Debido a esto, la mayoría del equipo de cómputo actual utiliza el sistema numérico hexadecimal. Como la base del sistema hexadecimal es 16, cada dígito a la izquierda del punto hexadecimal representa tantas veces un valor sucesivo potencia de 16, por ejemplo, el número 1234 es igual a:
1*16^3 + 2*16^2 + 3*16^1 + 4*16^0
Lo que da como resultado: 4096 + 512 + 48 + 4 = 4660
Cada dígito hexadecimal puede representar uno de dieciseis valores entre 0 y 1510. Como sólo tenemos diez dígitos decimales, necesitamos inventar seis dígitos adicionales para representar los valores entre 1010 y 1510. En lugar de crear nuevos símbolos para estos dígitos, utilizamos las letras A a la F. La conversión entre hexadecimal y binario es sencilla, considere la siguiente tabla: Su uso actual está muy vinculado a la informática y ciencias de la computación. Esto se debe a que un dígito hexadecimal representa cuatro dígitos binarios: 4 bits = 1 nibble; por tanto, dos dígitos hexadecimales representan ocho dígitos binarios (8 bits = 1 byte que, como es sabido, es la unidad básica de almacenamiento de información).
Dado que el sistema usual de numeración es de base decimal y, por ello, sólo se dispone de diez dígitos, se adoptó la convención de usar las seis primeras letras del alfabeto latino para suplir los dígitos que nos faltan: A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15. Como en cualquier sistema de numeración posicional, el valor numérico de cada dígito es alterado dependiendo de su posición en la cadena de dígitos, quedando multiplicado por una cierta potencia de la base del sistema, que en este caso es 16. Por ejemplo: 3E0,A16 = 3×16^2 + E×16^1 + 0×16^0 + A×16^-1 = 3×256 + 14×16 + 0×1 + 10×0,0625 = 992,625. El sistema hexadecimal actual fue introducido en el ámbito de la computación por primera vez por IBM en 1963. Una representación anterior, con 0–9 y u–z, fue usada en 1956 por la computadora Bendix G-15 y algunas computadoras modernas.
Operaciones con Sistemas de Numeración [editar]
Suma Binaria [editar]
Es semejante a la suma decimal, con la diferencia de que se manejan sólo dos dígitos (0 y 1), y que cuando el resultado excede de los símbolos utilizados se agrega el exceso (acarreo) a la suma parcial siguiente hacia la izquierda. Las tablas de sumar son:
Tabla del 0 Tabla del 1 0 + 0 = 0 1 + 0 = 1 0 + 1 = 1 1 + 1 =10 (0 con acarreo 1) Ejemplo: Sumar los números binarios 100100 (36) y 10010 (18) 1 0 0 1 0 0………………………36 1 0 0 1 0…………………….+ 18 1 1 0 1 1 0………………………54 Obsérvese que no hemos tenido ningún acarreo en las sumas parciales. Ejemplo: Sumar 11001 (25) y 10011 (19)
Resta Binaria [editar]
Es similar a la decimal, con la diferencia de que se manejan sólo dos dígitos y teniendo en cuenta que al realizar las restas parciales entre dos dígitos de idéntica posiciones, una del minuendo y otra del sustraendo, si el segundo excede al primero, se sustraes una unidad del digito de más a la izquierda en el minuendo (si existe y vale 1), convirtiéndose este último en 0 y equivaliendo la unidad extraída a 1*2 en el minuendo de resta parcial que estamos realizando. Si es cero el digito siguiente a la izquierda, se busca en los sucesivos. Las tablas de Resta son: Tabla del 0 Tabla del 1 0 - 0 = 0 1 - 0 = 1 0 - 1 = no cabe 1 - 1 = 0
Ejemplo: 1 1 1 1 1 1 - 1 0 1 0 1 0 0 1 0 1 0 1
Multiplicación binaria [editar]
Se realiza similar a la multiplicación decimal
salvo que la suma final de los productos se hacen en binarios.
Las tablas de Multiplicar son: Tabla del cero (0) 0 * 0 = 0 1 * 0 = 0 Tabla del uno (1) 0 * 1 = 0 1 * 1 = 1
División Binaria [editar]
Al igual que las operaciones anteriores, se realiza de forma similar
a la división decimal salvo que las multiplicaciones y restas internas al proceso de la división se hacen en binario.
Ejemplo:
Tabla de conversión entre decimal, binario, hexadecimal y octal [editar]
Decimal |
Binario |
Hexadecimal |
Octal |
00 |
00000 |
00 |
00 |
01 |
00001 |
01 |
01 |
02 |
00010 |
02 |
02 |
03 |
00011 |
03 |
03 |
04 |
00100 |
04 |
04 |
05 |
00101 |
05 |
05 |
06 |
00110 |
06 |
06 |
07 |
00111 |
07 |
07 |
08 |
01000 |
08 |
10 |
09 |
01001 |
09 |
11 |
10 |
01010 |
0A |
12 |
11 |
01011 |
0B |
13 |
12 |
01100 |
0C |
14 |
13 |
01101 |
0D |
15 |
14 |
01110 |
0E |
16 |
15 |
01111 |
0F |
17 |
16 |
10000 |
10 |
20 |
17 |
10001 |
11 |
21 |
.. |
..... |
.. |
.. |
30 |
11110 |
1E |
36 |
31 |
11111 |
1F |
37 |
32 |
100000 |
20 |
40 |
Así podemos ver que 