2 votos

Cálculo de grandes números

Creo que esta pregunta tiene más fondo matemático que computacional, entonces la voy a plantear aquí.

Estaba pensando en el cálculo de grandes números. Digamos que tengo el número $16777735$ almacenado en la memoria así:

$256^0$ $256^1$ $256^2$ $256^3$ $256^4$ $256^5$
-- $7$ ---- $2$ ------ $0$ ---- $1$ ----- $0$ ----- $0$ --

¿Cómo puedo escribir este número en pantalla, digamos, en base $10$ ? Imagina que no puedo sumar todas las partes como $7 + 256\cdot2 + 256^3$ como si no pudiera lidiar con un byte de este tamaño. (Sólo me interesa el algoritmo, así que imagina que tengo un número realmente grande que no puede caber en un byte, esto es sólo un ejemplo)

Y también, cómo calcular, como, muchos dígitos de $\pi$ ¿con este mismo método? Necesito una forma de hacer estos cálculos. Estoy interesado en aprender, por lo que pregunto sobre el proceso matemático de esto.

Gracias :)

1voto

Simon D Puntos 1414

Un método es utilizar el método bastante estándar de conversión a decimal, como los restos repetidos, por ejemplo, usted hace una matriz, y repetidamente dividir el número por 10 (con lleva), y llevar el último dígito a la matriz.

Por ejemplo, se divide 7.2.0.1 entre 10, para obtener 205.153.25 r 5. Pones 5 en a(0), y luego vuelves a por otro dígito, obteniendo 97.142.2 resto 3, el 3 se aparca en a(1).

Otro método que uno podría hacer, es conseguir que su ordenador trabaje en decimal, como hace REXX. Hay documentos de Mike Colishaw (que escribió REXX), sobre la implementación de cálculos decimales en la aritmética computacional.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X