Una secuencia de “dígitos” podría usarse típicamente para almacenar números muy grandes. Para reducir el número de dígitos y mejorar el embalaje, sería aconsejable utilizar una base más alta que los diez tradicionales. Una base de 32 o incluso 64 (dependiendo de la arquitectura de la máquina) haría la representación más compacta.
Para la parte de secuencia, un vector debería ser una buena opción para la representación. El número de reasignaciones podría reducirse estimando el número de “dígitos” necesarios para la representación. Por supuesto, también podría usarse una lista, pero incurrirá en algo de memoria adicional.
La parte más compleja sería proporcionar operaciones básicas como suma, resta, etc. para la representación anterior. Dado el gran tamaño esperado de los números, sería imperativo utilizar algoritmos paralelos para estas operaciones.
- ¿Por qué la investigación sobre el problema P vs NP no está más financiada?
- ¿Cómo le iría a Donald Knuth como competidor en TopCoder hoy?
- ¿Cómo contar el número de todos los tipos topológicos en un DAG dado? ¿Puedes dar algún ejemplo en este gráfico?
- ¿Por qué Matlab no le permite llamar a las funciones dos veces o indexarlas como en f (x) (y)?
- ¿Para qué se utiliza una serie de Fourier?
Sin embargo, la mayoría de los lenguajes de programación proporcionan algunas bibliotecas para trabajar en enteros largos. Por ejemplo, Java tiene BigInteger y también está The GNU MP Bignum Library.