Estoy tratando de pensar en cómo haría los cálculos en números extremadamente grandes (hasta el infinito - no hay números flotantes) si la construcción del lenguaje es incapaz de manejar números mayores que un cierto valor.
Estoy seguro de que no soy el primero ni el último en hacer esta pregunta, pero los términos de búsqueda que estoy usando no me están dando un algoritmo para manejar esas situaciones. Más bien, la mayoría de las sugerencias ofrecen un cambio de idioma o un cambio variable, o hablan de cosas que parecen irrelevantes para mi búsqueda. Entonces necesito un poco de orientación.
Dibujaría un algoritmo como este:
Determine la longitud máxima de la variable entera para el idioma.
Si un número tiene más de la mitad de la longitud máxima de la variable, se divide en una matriz. (dar una pequeña sala de juegos)
Orden de matriz [0] = los números más a la derecha [n-max] = los números más a la izquierda
Ex. Num: 29392023 Matriz [0]: 23, Matriz [1]: 20, matriz [2]: 39, matriz [3]: 29
Como establecí la mitad de la longitud de la variable como el punto de marca, puedo calcular las unidades, décimas, centésimas, etc. Colocar a través de la marca de la mitad, de modo que si una longitud máxima variable fuera de 10 dígitos de 0 a 9999999999, sé que al dividir eso a cinco dígitos me da un poco de sala de juegos
Entonces, si sumo o multiplico, puedo tener una función de verificación variable que vea que el sexto dígito (desde la derecha) de la matriz [0] es el mismo lugar que el primer dígito (desde la derecha) de la matriz [1].
Dividir y restar tiene sus propios problemas que aún no he pensado.
Me gustaría saber acerca de las mejores implementaciones para soportar números más grandes que el programa.