miércoles, 6 de diciembre de 2006

Nuestro Sistema de Numeración Decimal

SISTEMA DE NUMERACIÓN DECIMAL
Integrantes: María Soledad López Moreno
Adriana Morales Ruvalcaba
Angela Georgina Torres Gomez
INTRODUCCION
Para la evaluación correspondiente al examen semestral en la materia de Matemáticas, se presenta un trabajo a manera de ensayo; en este caso se nos asigno un tema: Nuestro sistema de Numeración Decimal.
Con base al tema asignado se realizo una investigación documentada para desarrollarlo, que se presentara a continuación para una mejor comprensión del contenido. Lo cual es muy importante ya que suele ser un aspecto que nos parece tan cotidiano y simple que muchas veces no se valora su utilidad, ya que es el sistema de numeración usado habitualmente en todo el mundo (excepto ciertas culturas) y en todas las áreas que requieren de un sistema de numeración.
Sin embargo hay ciertas técnicas, como por ejemplo en la informática, donde se utilizan sistemas de numeración adaptados al método de trabajo como el binario o el hexadecimal. También pueden existir en algunos idiomas vestigios del uso de otros sistemas de numeración, como el quinario, el duodecimal y el vigesimal.
Según los antropólogos, el origen del sistema decimal está en los diez dedos que tenemos los humanos en las manos, los cuales siempre nos han servido de base para contar. La información presentada puede ayudarnos como docentes, incluso es recomendable actualizarse en cada concepto para poderlo aplicarlo y dominarlo así que este ensayo nos permitirá ahondar en el tema mencionado.
NUMERACION DECIMAL
El sistema numérico que utilizamos para representar los números utiliza diez símbolos llamados cifras.
Para representar números mayores que nueve, utilizamos grupos formados por varias cifras ordenadas. La posición de cada cifra, a medida que nos trasladamos de derecha a izquierda, nos indicará las unidades, decenas, centenas, etc. Por estas razones se llama a este sistema posicional.
El sistema decimal es un sistema de numeración en el que las cantidades se representan utilizando como base el número diez, por lo que se compone de las cifras: cero (0), uno (1), dos (2), tres (3), cuatro (4), cinco (5), seis (6), siete (7), ocho (8) y nueve (9). Este conjunto de símbolos se denomina números árabes.
Es el sistema de numeración usado habitualmente en todo el mundo (excepto ciertas culturas) y en todas las áreas que requieren de un sistema de numeración. Sin embargo hay ciertas técnicas, como por ejemplo en la informática, donde se utilizan sistemas de numeración adaptados al método de trabajo como el binario o el hexadecimal. También pueden existir en algunos idiomas vestigios del uso de otros sistemas de numeración, como el quinario, el duodecimal y el vigesimal. Por ejemplo, cuando se cuentan artículos por docenas, o cuando se emplean palabras especiales para designar ciertos números (en francés, por ejemplo, el número 80 se expresa como "cuatro veintenas").
Según los antropólogos, el origen del sistema decimal está en los diez dedos que tenemos los humanos en las manos, los cuales siempre nos han servido de base para contar.
El sistema decimal es un sistema de numeración posicional, por lo que el valor del dígito depende de su posición dentro del número. Así:
Los números decimales se pueden representar en rectas numéricas

Búsqueda de números primos
En base 10, un número primo sólo puede acabar en 1, 3, 7 o 9.Las 6 posibilidades restantes generan siempre números compuestos:
Los acabados en 2, 4, 6, 8 y 0 son múltiplos de 2
Los acabados en 5 y 0 son múltiplos de 5
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 N = S + R donde:
N es el sistema de numeración considerado
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 de generación que nos indican qué números son válidos y cuáles son no-válidos en el sistema.
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 numeracíon utilizado se añade como subíndice al número).
Ejemplos:
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
De una forma general y amplia podemos clasificar los sistemas de numeración en dos grandes tipos
Posicionales
El valor de los símbolos que componen el sistema depende del valor que se les ha asignado, y de la posición que ocupan en el número.
No Posicionales
El valor de los símbolos que componen el sistema es fijo, y no depende de la posición que ocupa el símbolo dentro del número.

[Sistemas de numeración posicionales
Los sistemas de numeración usados en la actualidad son ponderados o posicionales. En estos sistemas de numeración 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.
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.
Podemos ver esto con un 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
Este teorema establece la forma general de construir números en un sistema de numeración posicional. Primero estableceremos unas definiciones básicas:
N: 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 decimal. Símbolo utilizado para separar la parte entera de un número de su parte decimal.
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
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 decimal 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 (102=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 decimal.
Los dígitos a la derecha de la coma decimal 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
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 solo 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 sólo 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: .
Así podemos ver que
Sistemas de numeración no posicionales
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.
El sistema numérico decimal
El sistema de numeración decimal es el más usado, tiene como base el número 10, o sea que posee 10 dígitos (o simbolos) diferentes (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). El sistema de numeración decimal fué desarrollado por los hindúes, posteriormente lo introducen los árabes en Europa, donde recibe el nombre de sistema de numeración decimal o arábigo. Si se aplica la notación posicional al sistema de numeración decimal entonces el dígito número n tiene el valor: (10n)* A
Este valor es positivo y es mayor o igual que uno si el dígito se localiza a la izquierda del punto decimal y depende del dígito A, en cambio el valor es menor que uno si el dígito se localiza a la derecha del punto decimal. Por ejemplo, el número 3489.125 expresado en la notación posicional es:
primero 9 * (100) = 9 --------- primero 1*(10-1) = 0.1 segundo 8 * (101) = 80 -------- segundo 2*(10-2) = 0.02 tercero 4 * (102) = 400 -------- tercero 5*(10-3) = 0.005 cuarto 3 * (103) = 3000
Por lo tanto el valor del número es:
donde:
m = posición del dígito que se localiza a la derecha k = posición del dígito que se localiza a la izquierda b = valor de la base n = posición del dígito a evaluar a = dígito a evaluar
para el ejemplo:
= 5*(10-3) + 2*(10-2) + 1*(10-1) + 9*(100) + 8*(101) + 4*(102) + 3*(103) = 0.005 + 0.02 + 0.1 + 9 + 80 + 400 + 3000 = 3489.125
Notación Posicional del Sistema
(10-6) = 0.000001 (10-5) = 0.00001 (10-4) = 0.0001 (10-3) = 0.001 (10-2) = 0.01 (10-1) = 0.1 (100) = 1 (101) = 10 (102) = 100 (103) = 1000 (104) = 10000 (105) = 100000 (106) = 10000000
En programación es frecuente acudir a diferentes sistemas de numeración según las circunstancias.
Hay que tener en cuenta que el hombre usa el sistema decimal, (según una opinión bastante general debido a una circunstancia más o menos afortunada: por la simple razón de que tiene diez dedos entre las dos manos. A menudo se usa el cinco como base de numeración auxiliar). La palabra dígito y dedo tienen la misma raiz latina, por eso usamos una numeración con 10 dígitos o dedos.
Hubiera sido mucho más práctico usar un sistema de numeración basado en un número con más factores, como el 12 (3*2*2) o mejor todavía el 8 (2*2*2) o el 16 (2*2*2*2). Pero por suerte o por desgracia:
1. Los humanos tenemos diez dedos y
2. Los humanos contamos con los dedos (al menos al principio), porque están muy a mano.
Para contar de 1 a 10 es fácil, pero ¿qué pasa cuando hay que contar más de diez cosas?. Pues usamos las manos de un "amigo" para contar cuantas veces hemos usado los dedos de las nuestras, así "12", sería dos más una vez diez.
Otra circunstancia curiosa es que en el sistema de numeración que usamos los números se leen y escriben de derecha a izquierda, al revés del modo en que escribimos las palabras.
Cuando interpretamos números de varias cifras, hay que empezar por la derecha, el primer dígito son unidades, el siguiente decenas, es decir cuantos grupos de 10 elementos estamos contando. El siguiente centenas, es decir el número de grupos de 10 elementos de grupos de 10 elementos, o sea el número de grupos de 100 elementos. Y así sucesivamente.
Si quieres saber más detalles sobre la historia de los sistemas de numeración, consulta este enlace.
Sistemas de numeración en la programación
En C y C++ se usan básicamente cuatro sistemas de numeración:
· Binario (base 2)
· Octal (base 8)
· Decimal (base 10)
· Hexadecimal (base 16)
Sistema binario, numeración en base 2
El sistema binario es el que usan los ordenadores, que es como si sólo tuvieran un dedo, su unidad básica de memoria, el bit, sólo puede tomar dos valores, inactivo o activo, y se codifican como 0 y 1, respectivamente.
Los ordenadores se quedan sin dedos enseguida, en cuanto tienen que contar más de uno, así que añaden más dígitos.
Por ejemplo, veamos el número binario 10110.
Estamos en base 2, así que el número se calcula así:
0 * 2^0 + 1 * 2^1 + 1 * 2^2 + 0 * 2^3 + 1 * 2^4 = 2 + 4 + 16 = 22 (decimal)
Este tipo de numeración resulta muy útil cuando cada bit puede significar cosas diferentes para un ordenador.
Sistema octal, numeración en base 8
El sistema octal usa ocho dígitos: 0, 1, 2, 3, 4, 5, 6 y 7. Este es el sistema de numeración que usaríamos si tuviéramos manos de cuatro dedos, como los Simpsons :-)
Por ejemplo, un número en octal sería 125. Estamos en base 8,así que el número se traduce a decimal así:
5 * 8^0 + 2 * 8^1 + 1 * 8^2 = 5 + 2 * 8 + 64 = 85 (decimal)
Desconozco el origen histórico de por qué de usa este sistema de numeración en ordenadores. Pero la explicación práctica es que la conversión entre binario y octal es casi directa.
Por ejemplo tenemos el número binario 10010010001000101101001.
Para convertirlo a octal agrupamos los dígitos de tres en tres empezando por la derecha, y rellenamos con ceros a la izquierda hasta tener sólo grupos de tres bits o dígitos:
010 010 010 001 000 101 101 001
A cada grupo de tres bits le podemos hacer corresponder un dígito octal, al 000 el 0, al 001 el 1, al 010 el 2, ... al 111 el 7.
Así que podemos traducir directamente el número anterior a octal:
22210551 (octal)
La conversión inversa, de octal a binario es igual de simple. Por ejemplo el número octal:
125
Cambiamos cada dígito octal por su equivalente binario:
001 010 101
Y después eliminamos los separadores y los ceros iniciales:
1010101 (binario)
Sistema decimal, numeración en base 10
En programación se usa el decimal porque es el que usamos los humanos, y al fin y al cabo, el ordenador está a su servicio.
Es sistema decimal usa diez dígitos para expresar los números, 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9.
Por ejemplo para el número decimal 42335:
5 * 10^0 + 3 * 10^1 + 3 * 10^2 + 2 * 10^3 + 4 * 10^4 = 5 + 30 + 300 + 2000 + 40000
Sistema hexadecimal, numeración en base 16
El sistema hexadecimal, que es el rey de los sistemas de numeración, al menos en lo que respecta a los ordenadores.
Usa 16 dígitos, los archiconocidos 0 a 9 y para los otros seis se usan las letras A, B, C, D, E y F, que tienen valores 10, 11, 12, 13, 14 y 15, respectivamente. Se usan indistintamente mayúsculas y minúsculas.
Por ejemplo, un número hexadecimal 4F3D:
13 * 16^0 + 3 * 16^1 + 15 * 16^2 + 4 * 16^3 = 13 + 3 * 16+ 15 * 256 + 4 * 4096 = 20285
Este sistema de numeración tiene muchas ventajas:
· La conversión entre binario y hexadecimal es tan simple como en octal, la única diferencia es que los bits se agrupan de cuatro en cuatro. 0000 es 0, 0001 es 1, 0010 es 2 ... 1111 es F.
· El byte, es la unidad de memoria más usada por los ordenadores y agrupa ocho bits. Para codificar un número de 8 bits sólo se necesitan dos dígitos hexadecimales. El mayor número expresable por un byte, 11111111(binario), equivale a 255(decimal) y a FF(hexadecimal).
· Y para palabras de dos bytes (16 bits), se usan sólo cuatro dígitos hexadecimales. (El número 16 aparece mucho cuando se habla de ordenadores.)
· Para 32 bits: 8 dígitos hexadecimales, y sucesivamente.
Con la práctica podrás hacer conversiones de hexadecimal a binario de memoria:
3E equivale a 00111110
AA equivale a 10101010
Generalizando
Un número en base n sólo puede estar formado por dígitos entre 0 y n-1, por ejemplo, en base 2 sólo se admiten los dígitos 0 y 1; en base 8, los dígitos 0 a 7; en base 10, los dígitos 0 a 9.
Así, por ejemplo, en base 2 el número 2 se expresa como 10, en base 8 u octal, el número 8 se expresa como 10,en base 10 o decimal el número 10 se expresa como 10 y en base 16 o hexadecimal, el número 16 se expresa como 10..
Así que en general, el valor de un número expresado en base n será:
Número en base 'n': "abcde"
Valor: e*n^0 + d*n^1 + c*n^2 + b * n^3 + a*n^4
Donde "n^x" se lee como n elevado a la x potencia.
Algoritmo para conversión de bases
Ahora veamos el algoritmo para hacer un conversor universal.
Supongamos que el número está en un array que se llama "Numero":
char Numero[] = "56652";
1. Lo primero, en un programa bien hecho, habría que comprobar que el número cumple las reglas, es decir, que no hay dígitos prohibidos en el sistema de numeración que usamos.
2. Necesitamos el número de dígitos:
int NDigitos = strlen(Numero);int Base = 8; /* Para base 8, será 16 para hexadecimal y 2 para binario */
3. Empezaremos a recorrer el número desde el final, así que el primer exponente será 0, cualquier número elevado a 0 es 1. En lugar de calcular n^DigitoNo, calcularemos el multiplicador, que se puede obtener multiplicando la base por el multiplicador anterior. Por ejemplo, para base 10 la secuencia de multiplicadores es 1, 10, 100, 1000, 10000, etc, para base 8 es 1, 8, 64, 512, etc
int Multiplicador=1;int DigitoNo = NDigitos-1; /* Los arreglos tienen índices empezando por el 0 */Valor = 0;
4. Recorremos el número desde el final: Numero[DigitoNo]
while(DigitoNo >= 0){ Valor += ValorDigito(Numero[DigitoNo])*Multiplicador; Multiplicador *= Base; DigitoNo--;}
5. El resultado será Valor.
Además, necesitamos una función que calcule el valor de un dígito en formato ASCII y lo convierta a int. Para que sirva para el sistema hexadecimal debe entender los caracteres '0' a '9', 'a' a 'f' y 'A' a 'F'.
int ValorDigito(char d){ if(d >= '0' && d <= '9') return d-'0'; if(d >= 'a' && d <= 'f') return 10+d-'a'; if(d >= 'A' && d <= 'F') return 10+d-'A'; return -1; /* Carácter prohibido */}
CONCLUSION
Con esta investigación se pretende que se conozca la importancia del sistema decimal,un sistema de numeración en el que las cantidades se representan utilizando como base el número diez, por lo que se compone de las cifras: cero , uno (1), dos (2), tres (3), cuatro (4), cinco (5), seis , siete (7), ocho y nueve (9). Este conjunto de símbolos se denomina números árabes.
Existen muchas maneras por las cuales los maestros podemos actualizarnos y llegar a dominar el tema , asi cuando los alumnos se encuentren en medio de un problema y realizen una pregunta , sera mucho mas facil contestarles sin tenerles que inventar una posible solución.
Este trabajo nos brinda la oportunidad de recabar en una serie de conceptos que muchas veces ignoramos , sin mencionar la importancia de nuestro sistema de numeración decimal para nuesta vida cotidiana.
Información obtenida en :