Representación decimal en la computadora

Iniciado por fafafa01, 2 Julio 2016, 23:33 PM

0 Miembros y 1 Visitante están viendo este tema.

fafafa01

muchas gracias, la ultima ¿como llegaste al 1 y el 11?

engel lex

#11
lo siguiente es binario

arreglo de numeros a mostrar = vacio
mientras numero mayor o igual que 1010 entonces:
 introducir en arreglo de numeros a mostrar->numero modulo de 1010
 numero = numero / 1010
fin mientras
introducir en arreglo de numeros a mostrar->numero


el introduce los restos de la división entre 10 y el ciclo se rompe cuando la división es menor que 10, por eso lo que quedó en el numero, tambien lo meto en el arreglo... por cierto, nativamente no oma en cuenta decimales, así que lo que pase a ser decimal, simplemente se destruye (la operación se trunca, no se redondea)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Orubatosu

A ver, es posible que tu problema sea mas simple: Un error "de concepto"

Todos los ordenadores se basan en componentes electrónicos. Estos componentes pueden almacenar valores y trabajar con ellos, del mismo modo (a lo bruto) que hace cualquier instalación eléctrica.

Pero, la forma mas simple de almacenar un valor es hacerlo de forma binaria. Esto es "si hay voltaje es un 1, si no lo hay es un cero"

Esto es una aproximación basta y grosera, ya que en realidad hay mas refinamientos, pero básicamente ese es el principio. En un circuito electrónico trabajas en base a que haya o no voltaje en un lugar. Para extendernos mas en detalle en este concepto habría que mirar lo que sería electrónica básica, algebra booleana y cosas por el estilo. Pero en principio imagina que todo se reduce a eso. Si hay señal es "1", y si no la hay es "0"

Es posible teóricamente desde luego crear un sistema donde almacenes números entre 0 y 9 para usar el sistema decimal. En un sistema como este la ausencia de señal sería 0, 1 V sería un 1, etc... pero eso complica enormemente los sistemas (pero mucho) eso sin hablar de que se debería de hacer un sistema mucho mas preciso para que 1.5 V fuera... ¿1 o 2?.

Entraríamos ahora en problemas como cuantos valores de voltaje podemos discriminar en sistemas que trabajen a muy bajo voltaje (un procesador moderno funciona apena a 1.5 V)

Entonces, por una cuestión de conveniencia y sencillez usamos el sistema binario. Las memorias, procesadores y otros circuitos almacenan "0" y "1"

A partir de ahi, matemáticamente se puede hacer una conversión entre diferentes bases numéricas sin problemas. Es posible usar una numeración en base 2, en base 8, 10, 16 o en lo que nos apetezca (de hecho en informática se pueden usar todas esas que te indico) según nuestra conveniencia.

¿Como funciona el sistema decimal?

Pues con numeros entre 0 y 9. Son 10 dígicos, y cada lugar a la izquierda multiplica por 10 el anterior.

Es decir: 3895 es:

3 * 1000
8 * 100
9 * 10
5 * 1

Sencillo ¿no?. En cada posición a la derecha elevas la base por la posición. La que esta mas a la derecha es 1, la siguiente 10, la siguiente 100...

En binario es lo mismo, pero la progresión se basa en el 2

128, 64, 32, 16, 8, 4, 2, 1

De ese modo, el numero 10010110 se pasa a decimal multiplicando cada uno de los numeros por la cantidad correspondiente a su posición y se suma. exactamente igual que en decimal

128 * 1
64 * 0
32 * 0
16 * 1
8 * 0
4 * 1
2 * 1
1 * 0

Total: 150

Y ahora viene la parte interesante. El ordenador trabaja en binario, y los programas que se ejecutan funcionan también en ese sistema. ¿Como te da ese numero?

Porque un ordenador no "sabe" lo que es un numero. El tiene un programa que hace esa conversión y te la representa en pantalla. El sigue unos programas que hacen la conversión y manejan unos dispositivos que de acuerdo con unas tablas de códigos te muestran unos caracteres (esto de modo muy simplista)

Un ordenador al final es poco mas que una calculadora con esteroides. Se limita a almacenar valores, pedirlos, procesarlos y mostrarlos de acuerdo con los programas que almacena, y nada mas.

"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998